33 FairRootManager* ioman = FairRootManager::Instance();
34 if (NULL == ioman)
return -2;
35 TClonesArray* fGlobalTracks = (TClonesArray*) ioman->GetObject(
"GlobalTrack");
36 if (NULL == fGlobalTracks)
return -2;
37 TClonesArray* fRichRings = (TClonesArray*) ioman->GetObject(
"RichRing");
38 if (NULL == fRichRings)
return -2;
44 if (richId < 0)
return -2;
46 if (NULL == ring)
return -2;
55 static Double_t
IsRICHElectronANN(Int_t globalTrackIndex, Double_t momentum, Double_t ANNcut)
57 FairRootManager* ioman = FairRootManager::Instance();
58 if (NULL == ioman)
return -2;
59 TClonesArray* fGlobalTracks = (TClonesArray*) ioman->GetObject(
"GlobalTrack");
60 if (NULL == fGlobalTracks)
return -2;
61 TClonesArray* fRichRings = (TClonesArray*) ioman->GetObject(
"RichRing");
62 if (NULL == fRichRings)
return -2;
69 if (richId < 0)
return -2;
71 if (NULL == ring)
return -2;
74 if (ann > ANNcut)
return true;
81 const TVector3 part22)
83 Double_t openingAngle = 0;
85 Double_t energy11 = TMath::Sqrt(part11.Mag2() +
M2E);
86 TLorentzVector lorVec11(part11, energy11);
88 Double_t energy12 = TMath::Sqrt(part12.Mag2() +
M2E);
89 TLorentzVector lorVec12(part12, energy12);
91 Double_t energy21 = TMath::Sqrt(part21.Mag2() +
M2E);
92 TLorentzVector lorVec21(part21, energy21);
94 Double_t energy22 = TMath::Sqrt(part22.Mag2() +
M2E);
95 TLorentzVector lorVec22(part22, energy22);
97 TLorentzVector gamma1 = lorVec11 + lorVec12;
98 TLorentzVector gamma2 = lorVec21 + lorVec22;
100 Double_t angle = gamma1.Angle(gamma2.Vect());
101 openingAngle = 180. * angle / TMath::Pi();