]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/CaloTrackCorrelations/AliAnaChargedParticles.h
move prints to AliDebug; fix coverity 24174
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaChargedParticles.h
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     */
5
6 //_________________________________________________________________________
7 //
8 // Class for track selection and identification (not done now)
9 // Tracks from the CTS are kept in the AOD.
10 // Few histograms produced.
11 //
12 //-- Author: Gustavo Conesa (INFN-LNF)
13
14 // Root system
15 class TH2F; 
16
17 // Analysis system
18 #include "AliAnaCaloTrackCorrBaseClass.h"
19  
20 class AliAnaChargedParticles : public AliAnaCaloTrackCorrBaseClass {
21   
22  public: 
23   AliAnaChargedParticles() ;              // default ctor
24   virtual ~AliAnaChargedParticles() { ; } // virtual dtor
25   
26   void    FillPrimaryHistograms();
27   
28   TList * GetCreateOutputObjects();
29     
30   void    Init();
31   
32   void    InitParameters();
33   
34   void    Print(const Option_t * opt) const;
35   
36   void    MakeAnalysisFillAOD()  ;
37   
38   void    MakeAnalysisFillHistograms() ;
39   
40   void    SwitchOnFillTrackBCHistograms()    { fFillTrackBCHistograms   = kTRUE  ; }
41   void    SwitchOffFillTrackBCHistograms()   { fFillTrackBCHistograms   = kFALSE ; }
42
43   void    SwitchOnFillVertexBC0Histograms()  { fFillVertexBC0Histograms = kTRUE  ; }
44   void    SwitchOffFillVertexBC0Histograms() { fFillVertexBC0Histograms = kFALSE ; }
45
46  private:
47   
48   Bool_t  fFillTrackBCHistograms;           // Fill histograms for tracks with TOF BC=0 or not related histograms
49   Bool_t  fFillVertexBC0Histograms;         // Fill histograms for tracks with vertex BC=0 or not related histograms
50   TLorentzVector fMomentum;                 //! Temporary momentum container
51   
52   //Histograms
53   TH1F * fhNtracks;                         //! track multiplicity distribution
54   TH1F * fhPt;                              //! pT distribution
55   TH1F * fhPtNoCut;                         //! pT distribution, no cut
56   TH1F * fhPtCutDCA;                        //! pT distribution, Apply DCA cut
57   TH1F * fhPtCutDCABCOK;                    //! pT distribution, Apply DCA cut, BC=0 or -100
58
59   TH1F * fhPtPileUp[7];                     //! pT distribution, pile-up defined events
60   TH2F * fhPhiNeg;                          //! phi distribution vs pT, negative
61   TH2F * fhEtaNeg;                          //! eta distribution vs pT, negative
62   TH2F * fhPhiPos;                          //! phi distribution vs pT, positive
63   TH2F * fhEtaPos;                          //! eta distribution vs pT, positive
64   TH2F * fhEtaPhiPos;                       //! eta vs phi distribution of positive charge
65   TH2F * fhEtaPhiNeg;                       //! eta vs phi distribution of negative charge
66   
67   TH1F * fhPtVtxOutBC0;                     //! pT distribution of tracks from a vertex with BC!=0
68   TH2F * fhEtaPhiVtxOutBC0;                 //! eta/phi distribution of tracks from a vertex with BC!=0
69   TH1F * fhPtVtxInBC0;                      //! pT distribution of tracks from a vertex with BC=0
70   TH2F * fhEtaPhiVtxInBC0;                  //! eta/phi distribution of tracks from a vertex with BC=0
71
72   TH1F * fhPtSPDRefit;                      //! pT distribution of tracks with SPD and ITS refit
73   TH1F * fhPtNoSPDRefit;                    //! pT distribution of constrained tracks no SPD and with ITSRefit
74   TH1F * fhPtNoSPDNoRefit;                  //! pT distribution of constrained tracks with no SPD requierement and without ITSRefit
75
76   TH2F * fhEtaPhiSPDRefitPt02;              //! eta-phi distribution of tracks with SPD and ITS refit, 0 < pT < 2 GeV
77   TH2F * fhEtaPhiNoSPDRefitPt02;            //! eta-phi distribution of constrained tracks no SPD and with ITSRefit,  0 < pT < 2 GeV
78   TH2F * fhEtaPhiNoSPDNoRefitPt02;          //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit,  0 < pT < 2 GeV
79
80   TH2F * fhEtaPhiSPDRefitPt3;               //! eta-phi distribution of tracks with SPD and ITS refit, pT > 3 GeV
81   TH2F * fhEtaPhiNoSPDRefitPt3;             //! eta-phi distribution of constrained tracks no SPD and with ITSRefit,  pT > 3 GeV
82   TH2F * fhEtaPhiNoSPDNoRefitPt3;           //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit,  pT > 3 GeV
83
84   //MC
85   
86   enum mvType{kmcPion = 0, kmcProton = 1, kmcKaon = 2, kmcMuon = 3, kmcElectron = 4, kmcUnknown = 5 };
87
88   TH1F * fhPtMCPart [6];                    //! pT distribution, 6 hadron ID
89   TH2F * fhPhiMCPart[6];                    //! phi distribution vs pT, 6 hadron ID
90   TH2F * fhEtaMCPart[6];                    //! eta distribution vs pT, 6 hadron ID
91   
92   TH1F * fhPtMCPrimPart [6];                //! Number of generated charged hadrons vs pT coming from MC particle, 6 hadron ID
93   TH2F * fhPhiMCPrimPart[6];                //! Number of generated charged hadrons vs phi coming from MC particle, 6 hadron ID
94   TH2F * fhEtaMCPrimPart[6];                //! Number of generated charged hadrons vs eta coming from MC particle, 6 hadron ID
95
96   // TOF
97   TH1F * fhTOFSignal;                       //! TOF signal
98   TH1F * fhTOFSignalPtCut;                  //! TOF signal pt and acceptance cut
99   TH1F * fhTOFSignalBCOK;                   //! TOF signal pt and acceptance cut
100   TH2F * fhPtTOFSignal;                     //! TOF signal vs track pT, good status
101   TH2F * fhPtTOFSignalDCACut;               //! TOF signal vs track pT, good status
102   TH2F * fhPtTOFSignalPileUp[7];            //! TOF signal vs track pT, good status, pile-up
103   TH2F * fhPtTOFSignalVtxOutBC0;            //! TOF signal vs track pT, good status
104   TH2F * fhPtTOFSignalVtxOutBC0PileUp[7];   //! TOF signal vs track pT, good status, pile-up
105   TH2F * fhPtTOFSignalVtxInBC0;             //! TOF signal vs track pT, good status
106   TH2F * fhPtTOFSignalVtxInBC0PileUp[7];    //! TOF signal vs track pT, good status, pile-up
107   TH1F * fhPtTOFStatus0;                    //! pT of tracks not passing TOF status selection
108   TH2F * fhEtaPhiTOFStatus0;                //! eta/phi of tracks not passing TOF status selection
109   TH2F * fhEtaPhiTOFBC0;                    //! eta/phi of tracks passing TOF status selection, tracks in BC=0
110   TH2F * fhEtaPhiTOFBCPlus;                 //! eta/phi of tracks passing TOF status selection, tracks in BC>0
111   TH2F * fhEtaPhiTOFBCMinus;                //! eta/phi of tracks passing TOF status selection, tracks in BC<0
112   TH2F * fhEtaPhiTOFBC0PileUpSPD;           //! eta/phi of tracks passing TOF status selection, tracks in BC=0, pile-up spd
113   TH2F * fhEtaPhiTOFBCPlusPileUpSPD;        //! eta/phi of tracks passing TOF status selection, tracks in BC>0, pile-up spd
114   TH2F * fhEtaPhiTOFBCMinusPileUpSPD;       //! eta/phi of tracks passing TOF status selection, tracks in BC<0, pile-up spd
115   
116   TH1F * fhProductionVertexBC;              //!  check BC of production vertex
117   TH1F * fhProductionVertexBCPileUp[7];     //!  check BC of production vertex, pile-up
118
119   TH2F * fhPtDCA[3];                        //! DCA (xy,z,constrained) of all tracks
120   
121   TH2F * fhPtDCASPDRefit[3];                //! DCA (xy,z,constrained) of tracks with SPD and ITS refit
122   TH2F * fhPtDCANoSPDRefit[3];              //! DCA (xy,z,constrained) of constrained tracks no SPD and with ITSRefit
123   TH2F * fhPtDCANoSPDNoRefit[3];            //! DCA (xy,z,constrained) of constrained tracks with no SPD requierement and without ITSRefit
124
125   TH2F * fhPtDCAVtxOutBC0[3];               //! DCA (xy,z,constrained) of all tracks, vertex BC!=0
126   TH2F * fhPtDCAVtxInBC0[3];                //! DCA (xy,z,constrained) of all tracks, vertex BC==0
127   TH2F * fhPtDCAPileUp[3];                  //! DCA (xy,z,constrained) of all tracks, SPD pile-up
128   TH2F * fhPtDCAVtxOutBC0PileUp[3];         //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up
129   TH2F * fhPtDCAVtxInBC0PileUp[3];          //! DCA (xy,z,constrained) of all tracks, vertex BC==0, SPD pile-up
130
131   TH2F * fhPtDCATOFBC0[3];                  //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
132   TH2F * fhPtDCAPileUpTOFBC0[3];            //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
133   TH2F * fhPtDCATOFBCOut[3];                //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC!=0
134
135   TH2F * fhPtDCANoTOFHit[3];                //! DCA (xy,z,constrained) of all tracks, no hit in TOF
136   TH2F * fhPtDCAVtxOutBC0NoTOFHit[3];       //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, no hit in TOF
137   TH2F * fhPtDCAVtxInBC0NoTOFHit[3];        //! DCA (xy,z,constrained) of all tracks, vertex BC=0, no hit in TOF
138   TH2F * fhPtDCAPileUpNoTOFHit[3];          //! DCA (xy,z,constrained) of all tracks, SPD pile-up, no hit in TOF
139   TH2F * fhPtDCAVtxOutBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up, no hit in TOF
140   TH2F * fhPtDCAVtxInBC0PileUpNoTOFHit[3];  //! DCA (xy,z,constrained) of all tracks, vertex BC=0, SPD pile-up, no hit in TOF
141   
142   TH2F * fhPtNPileUpSPDVtx;                     //! cluster pt vs number of spd pile-up vertices
143   TH2F * fhPtNPileUpTrkVtx;                 //! cluster pt vs number of track pile-up vertices
144   TH2F * fhPtNPileUpSPDVtxBC0;              //! cluster pt vs number of spd pile-up vertices, track in BC=0
145   TH2F * fhPtNPileUpTrkVtxBC0;              //! cluster pt vs number of track pile-up vertices, track in BC=0
146
147   AliAnaChargedParticles(              const AliAnaChargedParticles & ch) ; // cpy ctor
148   AliAnaChargedParticles & operator = (const AliAnaChargedParticles & ch) ; // cpy assignment
149   
150   ClassDef(AliAnaChargedParticles,10)
151
152 } ;
153
154
155 #endif //ALIANACHARGEDPARTICLES_H
156
157
158