1 #ifndef ALIANACHARGEDPARTICLES_H
2 #define ALIANACHARGEDPARTICLES_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //_________________________________________________________________________
8 // Class for track selection and identification (not done now)
9 // Tracks from the CTS are kept in the AOD.
10 // Few histograms produced.
12 //-- Author: Gustavo Conesa (INFN-LNF)
18 #include "AliAnaCaloTrackCorrBaseClass.h"
20 class AliAnaChargedParticles : public AliAnaCaloTrackCorrBaseClass {
23 AliAnaChargedParticles() ; // default ctor
24 virtual ~AliAnaChargedParticles() { ; } //virtual dtor
26 TList * GetCreateOutputObjects();
30 void InitParameters();
32 void Print(const Option_t * opt) const;
34 void MakeAnalysisFillAOD() ;
36 void MakeAnalysisFillHistograms() ;
38 Int_t GetPdgOfSelectedCharged() const { return fPdg ; }
39 void SelectChargedWithPdg( Int_t pdg ) { fPdg = pdg ; }
41 void SwitchOnFillPileUpHistograms() { fFillPileUpHistograms = kTRUE ; }
42 void SwitchOffFillPileUpHistograms() { fFillPileUpHistograms = kFALSE ; }
46 Int_t fPdg ; // identified particle id
47 Bool_t fFillPileUpHistograms; // Fill pile-up related histograms
50 TH1F * fhNtracks; //! track multiplicity distribution
51 TH1F * fhPt; //! pT distribution
52 TH1F * fhPtPileUp[7]; //! pT distribution, pile-up defined events
53 TH2F * fhPhiNeg; //! phi distribution vs pT, negative
54 TH2F * fhEtaNeg; //! eta distribution vs pT, negative
55 TH2F * fhPhiPos; //! phi distribution vs pT, positive
56 TH2F * fhEtaPos; //! eta distribution vs pT, positive
57 TH2F * fhEtaPhiPos; //! eta vs phi distribution of positive charge
58 TH2F * fhEtaPhiNeg; //! eta vs phi distribution of negative charge
61 TH1F * fhPtPion; //! pT distribution
62 TH2F * fhPhiPion; //! phi distribution vs pT
63 TH2F * fhEtaPion; //! eta distribution vs pT
65 TH1F * fhPtProton; //! pT distribution
66 TH2F * fhPhiProton; //! phi distribution vs pT
67 TH2F * fhEtaProton; //! eta distribution vs pT
69 TH1F * fhPtElectron; //! pT distribution
70 TH2F * fhPhiElectron; //! phi distribution vs pT
71 TH2F * fhEtaElectron; //! eta distribution vs pT
73 TH1F * fhPtKaon; //! pT distribution
74 TH2F * fhPhiKaon; //! phi distribution vs pT
75 TH2F * fhEtaKaon; //! eta distribution vs pT
77 TH1F * fhPtUnknown; //! pT distribution
78 TH2F * fhPhiUnknown; //! phi distribution vs pT
79 TH2F * fhEtaUnknown; //! eta distribution vs pT
82 TH1F * fhTOFSignal; //! TOF signal
83 TH1F * fhTOFSignalPtCut; //! TOF signal pt and acceptance cut
84 TH1F * fhTOFSignalBCOK; //! TOF signal pt and acceptance cut
85 TH2F * fhPtTOFSignal; //! TOF signal vs track pT, good status
86 TH2F * fhPtTOFSignalPileUp[7]; //! TOF signal vs track pT, good status, pile-up
87 TH1F * fhPtTOFStatus0; //! pT of tracks not passing TOF status selection
88 TH2F * fhEtaPhiTOFStatus0; //! eta/phi of tracks not passing TOF status selection
89 TH2F * fhEtaPhiTOFBC0; //! eta/phi of tracks passing TOF status selection, tracks in BC=0
90 TH2F * fhEtaPhiTOFBCPlus; //! eta/phi of tracks passing TOF status selection, tracks in BC>0
91 TH2F * fhEtaPhiTOFBCMinus; //! eta/phi of tracks passing TOF status selection, tracks in BC<0
92 TH2F * fhEtaPhiTOFBC0PileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC=0, pile-up spd
93 TH2F * fhEtaPhiTOFBCPlusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC>0, pile-up spd
94 TH2F * fhEtaPhiTOFBCMinusPileUpSPD; //! eta/phi of tracks passing TOF status selection, tracks in BC<0, pile-up spd
95 // TH1F * fhProductionVertexBC; //! check BC of production vertex
97 TH2F * fhPtDCA[3]; //! DCA (xy,z,constrained) of all tracks
98 //TH2F * fhPtDCAVtxOutBC0[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0
99 TH2F * fhPtDCAPileUp[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up
100 //TH2F * fhPtDCAVtxOutBC0PileUp[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up
102 TH2F * fhPtDCATOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
103 TH2F * fhPtDCAPileUpTOFBC0[3]; //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
105 TH2F * fhPtDCANoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, no hit in TOF
106 //TH2F * fhPtDCAVtxOutBC0NoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, no hit in TOF
107 TH2F * fhPtDCAPileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, SPD pile-up, no hit in TOF
108 //TH2F * fhPtDCAVtxOutBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up, no hit in TOF
111 AliAnaChargedParticles( const AliAnaChargedParticles & ch) ; // cpy ctor
112 AliAnaChargedParticles & operator = (const AliAnaChargedParticles & ch) ; // cpy assignment
114 ClassDef(AliAnaChargedParticles,5)
119 #endif //ALIANACHARGEDPARTICLES_H