]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/CaloTrackCorrelations/AliAnaChargedParticles.h
add pt vs M02 histograms - A. Mas
[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   TList * GetCreateOutputObjects();
27     
28   void    Init();
29   
30   void    InitParameters();
31   
32   void    Print(const Option_t * opt) const;
33   
34   void    MakeAnalysisFillAOD()  ;
35   
36   void    MakeAnalysisFillHistograms() ; 
37   
38   void    SwitchOnFillPileUpHistograms()     { fFillPileUpHistograms    = kTRUE  ; }
39   void    SwitchOffFillPileUpHistograms()    { fFillPileUpHistograms    = kFALSE ; }
40   
41   void    SwitchOnFillTrackBCHistograms()  { fFillVertexBC0Histograms = kTRUE  ; }
42   void    SwitchOffFillTrackBCHistograms() { fFillVertexBC0Histograms = kFALSE ; }
43
44   void    SwitchOnFillVertexBC0Histograms()  { fFillVertexBC0Histograms = kTRUE  ; }
45   void    SwitchOffFillVertexBC0Histograms() { fFillVertexBC0Histograms = kFALSE ; }
46
47  private:
48   
49   Bool_t  fFillPileUpHistograms;    // Fill pile-up related histograms
50   Bool_t  fFillTrackBCHistograms;   // Fill histograms for tracks with TOF BC=0 or not related histograms
51   Bool_t  fFillVertexBC0Histograms; // Fill histograms for tracks with vertex BC=0 or not related histograms
52   
53   //Histograms
54   TH1F * fhNtracks;     //! track multiplicity distribution
55   TH1F * fhPt;          //! pT distribution
56   TH1F * fhPtNoCut;     //! pT distribution, no cut
57   TH1F * fhPtCutDCA;    //! pT distribution, Apply DCA cut
58   TH1F * fhPtCutDCABCOK;//! pT distribution, Apply DCA cut, BC=0 or -100
59
60   TH1F * fhPtPileUp[7]; //! pT distribution, pile-up defined events
61   TH2F * fhPhiNeg;      //! phi distribution vs pT, negative
62   TH2F * fhEtaNeg;      //! eta distribution vs pT, negative
63   TH2F * fhPhiPos;      //! phi distribution vs pT, positive
64   TH2F * fhEtaPos;      //! eta distribution vs pT, positive
65   TH2F * fhEtaPhiPos;   //! eta vs phi distribution of positive charge  
66   TH2F * fhEtaPhiNeg;   //! eta vs phi distribution of negative charge
67   
68   TH1F * fhPtVtxOutBC0;    //! pT distribution of tracks from a vertex with BC!=0
69   TH2F * fhEtaPhiVtxOutBC0;//! eta/phi distribution of tracks from a vertex with BC!=0
70   TH1F * fhPtVtxInBC0;     //! pT distribution of tracks from a vertex with BC=0
71   TH2F * fhEtaPhiVtxInBC0; //! eta/phi distribution of tracks from a vertex with BC=0
72
73   TH1F * fhPtSPDRefit;     //! pT distribution of tracks with SPD and ITS refit
74   TH1F * fhPtNoSPDRefit;   //! pT distribution of constrained tracks no SPD and with ITSRefit
75   TH1F * fhPtNoSPDNoRefit; //! pT distribution of constrained tracks with no SPD requierement and without ITSRefit
76
77   TH2F * fhEtaPhiSPDRefitPt02;     //! eta-phi distribution of tracks with SPD and ITS refit, 0 < pT < 2 GeV
78   TH2F * fhEtaPhiNoSPDRefitPt02;   //! eta-phi distribution of constrained tracks no SPD and with ITSRefit,  0 < pT < 2 GeV
79   TH2F * fhEtaPhiNoSPDNoRefitPt02; //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit,  0 < pT < 2 GeV
80
81   TH2F * fhEtaPhiSPDRefitPt3;     //! eta-phi distribution of tracks with SPD and ITS refit, pT > 3 GeV
82   TH2F * fhEtaPhiNoSPDRefitPt3;   //! eta-phi distribution of constrained tracks no SPD and with ITSRefit,  pT > 3 GeV
83   TH2F * fhEtaPhiNoSPDNoRefitPt3; //! eta-phi distribution of constrained tracks with no SPD requierement and without ITSRefit,  pT > 3 GeV
84
85   //MC
86   TH1F * fhPtPion;      //! pT distribution
87   TH2F * fhPhiPion;     //! phi distribution vs pT
88   TH2F * fhEtaPion;     //! eta distribution vs pT
89   
90   TH1F * fhPtProton;    //! pT distribution
91   TH2F * fhPhiProton;   //! phi distribution vs pT
92   TH2F * fhEtaProton;   //! eta distribution vs pT
93   
94   TH1F * fhPtElectron;  //! pT distribution
95   TH2F * fhPhiElectron; //! phi distribution vs pT
96   TH2F * fhEtaElectron; //! eta distribution vs pT
97   
98   TH1F * fhPtKaon;      //! pT distribution
99   TH2F * fhPhiKaon;     //! phi distribution vs pT
100   TH2F * fhEtaKaon;     //! eta distribution vs pT
101   
102   TH1F * fhPtUnknown;   //! pT distribution
103   TH2F * fhPhiUnknown;  //! phi distribution vs pT
104   TH2F * fhEtaUnknown;  //! eta distribution vs pT
105
106   TH1F * fhMCPt; //! Number of generated charged hadrons vs pT coming from MC particle
107   TH2F * fhMCPhi; //! Number of generated charged hadrons vs phi coming from MC particle
108   TH2F * fhMCEta; //! Number of generated charged hadrons vs eta coming from MC particle
109   TH1F * fhMCRecPt; //! Number of reconstructed charged hadrons vs pT coming from MC particle
110
111   // TOF
112   TH1F * fhTOFSignal;                    //! TOF signal
113   TH1F * fhTOFSignalPtCut;               //! TOF signal pt and acceptance cut
114   TH1F * fhTOFSignalBCOK;                //! TOF signal pt and acceptance cut
115   TH2F * fhPtTOFSignal;                  //! TOF signal vs track pT, good status
116   TH2F * fhPtTOFSignalDCACut;            //! TOF signal vs track pT, good status
117   TH2F * fhPtTOFSignalPileUp[7];         //! TOF signal vs track pT, good status, pile-up
118   TH2F * fhPtTOFSignalVtxOutBC0;         //! TOF signal vs track pT, good status
119   TH2F * fhPtTOFSignalVtxOutBC0PileUp[7];//! TOF signal vs track pT, good status, pile-up
120   TH2F * fhPtTOFSignalVtxInBC0;          //! TOF signal vs track pT, good status
121   TH2F * fhPtTOFSignalVtxInBC0PileUp[7]; //! TOF signal vs track pT, good status, pile-up
122   TH1F * fhPtTOFStatus0;                 //! pT of tracks not passing TOF status selection
123   TH2F * fhEtaPhiTOFStatus0;             //! eta/phi of tracks not passing TOF status selection
124   TH2F * fhEtaPhiTOFBC0;                 //! eta/phi of tracks passing TOF status selection, tracks in BC=0
125   TH2F * fhEtaPhiTOFBCPlus;              //! eta/phi of tracks passing TOF status selection, tracks in BC>0
126   TH2F * fhEtaPhiTOFBCMinus;             //! eta/phi of tracks passing TOF status selection, tracks in BC<0
127   TH2F * fhEtaPhiTOFBC0PileUpSPD;        //! eta/phi of tracks passing TOF status selection, tracks in BC=0, pile-up spd
128   TH2F * fhEtaPhiTOFBCPlusPileUpSPD;     //! eta/phi of tracks passing TOF status selection, tracks in BC>0, pile-up spd
129   TH2F * fhEtaPhiTOFBCMinusPileUpSPD;    //! eta/phi of tracks passing TOF status selection, tracks in BC<0, pile-up spd
130   
131   TH1F * fhProductionVertexBC;           //!  check BC of production vertex
132   TH1F * fhProductionVertexBCPileUp[7];  //!  check BC of production vertex, pile-up
133
134   TH2F * fhPtDCA[3];                     //! DCA (xy,z,constrained) of all tracks
135   
136   TH2F * fhPtDCASPDRefit[3];             //! DCA (xy,z,constrained) of tracks with SPD and ITS refit
137   TH2F * fhPtDCANoSPDRefit[3];           //! DCA (xy,z,constrained) of constrained tracks no SPD and with ITSRefit
138   TH2F * fhPtDCANoSPDNoRefit[3];         //! DCA (xy,z,constrained) of constrained tracks with no SPD requierement and without ITSRefit
139
140   TH2F * fhPtDCAVtxOutBC0[3];            //! DCA (xy,z,constrained) of all tracks, vertex BC!=0
141   TH2F * fhPtDCAVtxInBC0[3];             //! DCA (xy,z,constrained) of all tracks, vertex BC==0
142   TH2F * fhPtDCAPileUp[3];               //! DCA (xy,z,constrained) of all tracks, SPD pile-up
143   TH2F * fhPtDCAVtxOutBC0PileUp[3];      //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up
144   TH2F * fhPtDCAVtxInBC0PileUp[3];       //! DCA (xy,z,constrained) of all tracks, vertex BC==0, SPD pile-up
145
146   TH2F * fhPtDCATOFBC0[3];               //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
147   TH2F * fhPtDCAPileUpTOFBC0[3];         //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC=0
148   TH2F * fhPtDCATOFBCOut[3];             //! DCA (xy,z,constrained) of all tracks, hit in TOF and BC!=0
149
150   TH2F * fhPtDCANoTOFHit[3];                //! DCA (xy,z,constrained) of all tracks, no hit in TOF
151   TH2F * fhPtDCAVtxOutBC0NoTOFHit[3];       //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, no hit in TOF
152   TH2F * fhPtDCAVtxInBC0NoTOFHit[3];        //! DCA (xy,z,constrained) of all tracks, vertex BC=0, no hit in TOF
153   TH2F * fhPtDCAPileUpNoTOFHit[3];          //! DCA (xy,z,constrained) of all tracks, SPD pile-up, no hit in TOF
154   TH2F * fhPtDCAVtxOutBC0PileUpNoTOFHit[3]; //! DCA (xy,z,constrained) of all tracks, vertex BC!=0, SPD pile-up, no hit in TOF
155   TH2F * fhPtDCAVtxInBC0PileUpNoTOFHit[3];  //! DCA (xy,z,constrained) of all tracks, vertex BC=0, SPD pile-up, no hit in TOF
156   
157   
158   AliAnaChargedParticles(              const AliAnaChargedParticles & ch) ; // cpy ctor
159   AliAnaChargedParticles & operator = (const AliAnaChargedParticles & ch) ; // cpy assignment
160   
161   ClassDef(AliAnaChargedParticles,8)
162
163 } ;
164
165
166 #endif //ALIANACHARGEDPARTICLES_H
167
168
169