10 <<
"<Error> PndPidCorrelator EMCINFO: FairTrackParH NULL pointer parameter."
16 <<
"<Error> PndPidCorrelator EMCINFO: pidCand NULL pointer parameter."
24 Int_t emcIndex = -1, emcModuleCorr = -1, emcNCrystals = -1, emcNBumps = -1;
25 Float_t emcEloss = 0., emcElossCorr = 0., emcGLength = -1000;
26 Float_t emcQuality = 1000000;
28 TVector3 vertex(0., 0., 0.);
29 TVector3 emcPos(0., 0., 0.);
33 Double_t Z20 = 0.0, Z53 = 0.0, secLatM = 0.00, E1 = 0., E9 = 0., E25 = 0.;
35 for (Int_t ee = 0; ee < emcEntries; ee++) {
40 if (mclist.size() == 0)
52 if ((emcModule < 3) && (helix->GetZ() > 150.))
54 if ((emcModule == 3) && (helix->GetZ() < 165.))
56 if ((emcModule == 4) && (helix->GetZ() > -30.))
59 emcTimeStamp = emcHit->GetTimeStamp();
61 emcPos = emcHit->
where();
65 vertex.SetXYZ(-10000, -10000, -10000);
66 FairTrackParH *fRes =
new FairTrackParH();
73 vertex.SetXYZ(fRes->GetX(), fRes->GetY(), fRes->GetZ());
80 Float_t dist = (emcPos - vertex).Mag2();
81 if (emcQuality > dist) {
84 emcEloss = emcHit->
energy();
86 emcModuleCorr = emcModule;
88 emcNBumps = emcHit->
NBumps();
91 secLatM = emcHit->
LatMom();
107 Float_t ntuple[] = {
static_cast<Float_t
>(vertex.X()),
108 static_cast<Float_t>(vertex.Y()),
109 static_cast<Float_t>(vertex.Z()),
110 static_cast<Float_t>(vertex.Phi()),
111 static_cast<Float_t>(helix->GetMomentum().Mag()),
112 static_cast<Float_t>(helix->GetQ()),
113 static_cast<Float_t>(helix->GetMomentum().Theta()),
114 static_cast<Float_t>(helix->GetZ()),
115 static_cast<Float_t>(emcPos.X()),
116 static_cast<Float_t>(emcPos.Y()),
117 static_cast<Float_t>(emcPos.Z()),
118 static_cast<Float_t>(emcPos.Phi()), dist,
119 static_cast<Float_t>(vertex.DeltaPhi(emcPos)),
120 static_cast<Float_t>(emcHit->
energy()), emcGLength,
121 static_cast<Float_t>(emcModule),
122 static_cast<Float_t
>(emcTimeStamp)
132 if ((emcQuality < fCorrPar->GetEmc12Cut()) || (
fIdeal && emcIndex != -1)) {
150 pidCand->AddLink(FairLink(-1, FairRootManager::Instance()->GetEntryNr(),
"EmcCluster", emcIndex));
void SetEmcNumberOfCrystals(Int_t val)
void SetEmcNumberOfBumps(Int_t val)
Short_t GetModule() const
void SetEmcModule(Int_t val)
void SetEmcClusterE1(Double_t val)
void SetEmcCalEnergy(Double_t val)
PndPidCorrPar * fCorrPar
PndRichHit TCA.
void SetEmcQuality(Double_t val)
virtual Double_t Energy(PndEmcCluster *clust, Int_t pid=22)=0
map< Int_t, Bool_t > fClusterList
const std::vector< Int_t > & GetMcList() const
PndEmcAbsClusterCalibrator * fEmcCalibrator
FTS geometry parameters.
virtual Double_t E1() const
void SetEmcClusterE9(Double_t val)
void SetEmcIndex(Int_t val)
a cluster (group of neighboring crystals) of hit emc crystals
map< Int_t, Double_t > fClusterQ
TClonesArray * fEmcDigi
PndEmcBump TCA.
FairGeanePro * fGeanePropagator
Refitter for MDT tracks.
void SetEmcClusterE25(Double_t val)
Int_t NumberOfDigis() const
void SetEmcClusterLat(Double_t val)
virtual Double_t E25() const
virtual Double_t energy() const
void SetEmcTimeStamp(Double_t val)
virtual Double_t E9() const
void SetEmcClusterZ20(Double_t val)
void SetEmcClusterZ53(Double_t val)
void SetEmcRawEnergy(Double_t val)
Bool_t GetEmcInfo(FairTrackParH *helix, PndPidCandidate *pid)
TClonesArray * fEmcCluster
PndFtofPoint TCA.