32 fEventNumberInFile(0),
40 fTriggerMaskNext50(0),
59 fHLTHoughTracks("AliESDHLTtrack",15000),
68 fFirstEMCALCluster(-1),
69 fEMCALTriggerPosition(0x0),
70 fEMCALTriggerAmplitudes(0x0),
72 fFirstPHOSCluster(-1),
73 fPHOSTriggerPosition(0x0),
74 fPHOSTriggerAmplitudes(0x0),
85 for (Int_t i=0; i<3; i++) fT0TOF[i] = 0;
86 for (Int_t i=0; i<24; i++) {
90 for (Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
91 for (Int_t i=0; i<3; i++) fDiamondCovXY[i]=0.;
97 fEventNumberInFile(esd.fEventNumberInFile),
98 fBunchCrossNumber(esd.fBunchCrossNumber),
99 fOrbitNumber(esd.fOrbitNumber),
100 fPeriodNumber(esd.fPeriodNumber),
101 fRunNumber(esd.fRunNumber),
102 fTimeStamp(esd.fTimeStamp),
103 fEventType(esd.fEventType),
104 fTriggerMask(esd.fTriggerMask),
105 fTriggerMaskNext50(esd.fTriggerMaskNext50),
106 fTriggerCluster(esd.fTriggerCluster),
107 fRecoVersion(esd.fRecoVersion),
108 fMagneticField(esd.fMagneticField),
109 fZDCN1Energy(esd.fZDCN1Energy),
110 fZDCP1Energy(esd.fZDCP1Energy),
111 fZDCN2Energy(esd.fZDCN2Energy),
112 fZDCP2Energy(esd.fZDCP2Energy),
113 fZDCEMEnergy(esd.fZDCEMEnergy),
114 fZDCParticipants(esd.fZDCParticipants),
115 fT0zVertex(esd.fT0zVertex),
116 fSPDVertex(esd.fSPDVertex),
117 fPrimaryVertex(esd.fPrimaryVertex),
118 fSPDMult(esd.fSPDMult),
119 fT0clock(esd.fT0clock),
120 fT0timeStart(esd.fT0timeStart),
121 fT0trig(esd.fT0trig),
122 fTracks(*((TClonesArray*)esd.fTracks.Clone())),
123 fHLTConfMapTracks(*((TClonesArray*)esd.fHLTConfMapTracks.Clone())),
124 fHLTHoughTracks(*((TClonesArray*)esd.fHLTHoughTracks.Clone())),
125 fMuonTracks(*((TClonesArray*)esd.fMuonTracks.Clone())),
126 fPmdTracks(*((TClonesArray*)esd.fPmdTracks.Clone())),
127 fTrdTracks(*((TClonesArray*)esd.fTrdTracks.Clone())),
128 fV0s(*((TClonesArray*)esd.fV0s.Clone())),
129 fCascades(*((TClonesArray*)esd.fCascades.Clone())),
130 fKinks(*((TClonesArray*)esd.fKinks.Clone())),
131 fCaloClusters(*((TClonesArray*)esd.fCaloClusters.Clone())),
132 fEMCALClusters(esd.fEMCALClusters),
133 fFirstEMCALCluster(esd.fFirstEMCALCluster),
134 fEMCALTriggerPosition(esd. fEMCALTriggerPosition),
135 fEMCALTriggerAmplitudes(esd.fEMCALTriggerAmplitudes),
136 fPHOSClusters(esd.fPHOSClusters),
137 fFirstPHOSCluster(esd.fFirstPHOSCluster),
138 fPHOSTriggerPosition(esd.fPHOSTriggerPosition),
139 fPHOSTriggerAmplitudes(esd.fPHOSTriggerAmplitudes),
140 fESDFMD(esd.fESDFMD),
141 fESDVZERO(esd.fESDVZERO),
142 fESDACORDE(esd.fESDACORDE),
144 fErrorLogs(*((TClonesArray*)esd.fErrorLogs.Clone()))
150 for (Int_t i=0; i<24; i++) {
216 for (Int_t i=0; i<24; i++) {
222 for (Int_t i=0; i<3; i++)
fT0TOF[i] = 0;
282 if ((rm<0)||(rm>last))
return kFALSE;
293 if ((rm<0)||(rm>last))
return kFALSE;
305 for (Int_t n=0; n<ncs; n++) {
312 if (idxN==csIdxN)
return kFALSE;
314 if (csIdxP==lastIdxP)
315 if (csIdxN==lastIdxN) used++;
319 TClonesArray &a=
fV0s;
320 delete a.RemoveAt(rm);
322 if (rm==last)
return kTRUE;
326 delete a.RemoveAt(last);
328 if (!used)
return kTRUE;
332 for (Int_t n=0; n<ncs; n++) {
339 if (csIdxP==lastIdxP)
340 if (csIdxN==lastIdxN) {
341 cs->AliESDv0::SetIndex(1,idxP);
342 cs->AliESDv0::SetIndex(0,idxN);
344 if (!used)
return kTRUE;
357 if ((rm<0)||(rm>last))
return kFALSE;
366 Int_t idx=Int_t(primIdx[n]);
367 if (rm==idx)
return kFALSE;
368 if (idx==last) used++;
374 for (Int_t n=0; n<nv0; n++) {
378 if (rm==idx)
return kFALSE;
379 if (idx==last) used++;
382 if (rm==idx)
return kFALSE;
383 if (idx==last) used++;
387 for (Int_t n=0; n<ncs; n++) {
391 if (rm==idx)
return kFALSE;
392 if (idx==last) used++;
396 for (Int_t n=0; n<nkn; n++) {
400 if (rm==idx)
return kFALSE;
401 if (idx==last) used++;
404 if (rm==idx)
return kFALSE;
405 if (idx==last) used++;
411 delete a.RemoveAt(rm);
413 if (rm==last)
return kTRUE;
416 if (!t) {
AliFatal(Form(
"NULL pointer for ESD track %d",last));
return kFALSE;}
419 delete a.RemoveAt(last);
422 if (!used)
return kTRUE;
430 Int_t idx=Int_t(primIdx[n]);
432 primIdx[n]=Short_t(rm);
434 if (!used)
return kTRUE;
440 for (Int_t n=0; n<nv0; n++) {
445 if (!used)
return kTRUE;
450 if (!used)
return kTRUE;
454 for (Int_t n=0; n<ncs; n++) {
459 if (!used)
return kTRUE;
463 for (Int_t n=0; n<nkn; n++) {
468 if (!used)
return kTRUE;
473 if (!used)
return kTRUE;
512 Float_t dcaMax=cleanPars[0];
513 Float_t cspMin=cleanPars[1];
516 for (Int_t i=nV0s-1; i>=0; i--) {
521 Float_t cspcut=cspMin + dca/dcaMax*(1.-cspMin);
522 if (csp > cspcut)
continue;
528 Float_t dmax=cleanPars[2], zmax=cleanPars[3];
534 for (Int_t i=nTracks-1; i>=0; i--) {
536 if (!track) {
AliFatal(Form(
"NULL pointer for ESD track %d",i));
return kFALSE;}
538 if ((TMath::Abs(xy) > dmax) || (vtxOK && (TMath::Abs(z) > zmax))) {
550 Int_t idx=
fV0s.GetEntriesFast();
561 printf(
"ESD run information\n");
562 printf(
"Event # in file %d Bunch crossing # %d Orbit # %d Period # %d Run # %d Trigger %lld %lld Magnetic field %f \n",
571 printf(
"Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
575 printf(
"Mean vertex in RUN: X=%.4f Y=%.4f cm\n",
577 printf(
"SPD Multiplicity. Number of tracklets %d \n",
580 printf(
"Number of tracks: \n");
605 for (Int_t i=0; i<ntrk; i++) {
607 if (!f) {
AliFatal(Form(
"NULL pointer for ESD track %d",i));}
620 for (Int_t i=0; i<ntrk; i++) {
622 if (!t) {
AliFatal(Form(
"NULL pointer for ESD track %d",i));}
Int_t GetNumberOfEMCALClusters() const
AliESDtrack * GetTrack(Int_t i) const
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
UShort_t fBunchCrossNumber
Int_t GetNumberOfTracks() const
Float_t GetDiamondY() const
Float_t GetDiamondX() const
virtual UShort_t * GetIndices() const
UInt_t GetOrbitNumber() const
Class to describe the MUON tracks in the Event Summary Data class.
virtual Double_t GetY() const
ULong64_t GetTriggerMaskNext50() const
TArrayF * fPHOSTriggerAmplitudes
Int_t GetNumberOfMuonTracks() const
void ReleaseESDfriendTrack()
UShort_t GetBunchCrossNumber() const
void GetESDfriend(AliESDfriend *f) const
void SetFriendTrack(const AliESDfriendTrack *t)
Int_t GetIndex(Int_t i) const
AliESDcascade * GetCascade(Int_t i) const
Int_t AddV0(const AliESDv0 *v)
ULong64_t GetTriggerMask() const
Bool_t Clean(Float_t *cleanPars)
Int_t GetEventNumberInFile() const
TArrayF * fEMCALTriggerPosition
virtual ~AliMultiplicity()
Bool_t RemoveKink(Int_t i)
virtual Int_t GetNIndices() const
Bool_t RemoveTrack(Int_t i)
Int_t GetNumberOfHLTHoughTracks() const
Float_t GetV0CosineOfPointingAngle(Double_t refPointX, Double_t refPointY, Double_t refPointZ) const
Int_t GetNumberOfPHOSClusters() const
void SetIndex(Int_t index, Int_t pos)
Double32_t fT0amplitude[24]
const AliESDVertex * GetVertex() const
void SetDiamond(const AliESDVertex *vertex)
Int_t GetNumberOfCaloClusters() const
Int_t GetNumberOfTracks() const
Int_t GetNumberOfPmdTracks() const
void Print(Option_t *option="") const
virtual Double_t GetZ() const
TClonesArray fHLTConfMapTracks
AliESDkink * GetKink(Int_t i) const
Int_t GetNumberOfTrdTracks() const
Int_t GetRunNumber() const
ULong64_t fTriggerMaskNext50
TClonesArray fCaloClusters
Calorimeter cluster data container.
#define AliFatal(message)
virtual Double_t GetX() const
void SetIndex(Int_t i, Int_t ind)
void Clear(Option_t *option="")
void SetESDfriend(const AliESDfriend *f)
Int_t GetNumberOfKinks() const
Int_t GetNumberOfV0s() const
TArrayF * fEMCALTriggerAmplitudes
(x,y,z of 2x2 and x,y,z of nxn) not position of centroid but of patch corner
TArrayF * fPHOSTriggerPosition
AliESDVertex fPrimaryVertex
AliESDv0 * GetV0(Int_t i) const
Int_t GetNumberOfHLTConfMapTracks() const
virtual void GetImpactParameters(Float_t &xy, Float_t &z) const
Int_t GetIndex(Int_t i) const
AliESDfriendTrack * AddTrack(const AliESDfriendTrack *t, Bool_t shallow=kFALSE)
const AliESDfriendTrack * GetFriendTrack() const
TClonesArray fHLTHoughTracks
UInt_t GetPeriodNumber() const
virtual Bool_t GetStatus() const
void GetCovMatrix(Double_t covmatrix[6]) const
AliESDfriendTrack * GetTrack(Int_t i) const
for(Int_t itree=0;itree< arrInputTreesDistortionCalib->GetEntriesFast();++itree)
Int_t GetNumberOfCascades() const
AliESDACORDE * fESDACORDE
Float_t GetMagneticField() const
virtual Int_t GetNumberOfTracklets() const
Double_t GetDcaV0Daughters() const