]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/CaloTrackCorrelations/AliAnaChargedParticles.h
Small update by Raphaelle
[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   Int_t   GetPdgOfSelectedCharged()  const  { return fPdg ; }
39   void    SelectChargedWithPdg( Int_t pdg ) { fPdg = pdg  ; }
40   
41   void    SwitchOnFillPileUpHistograms()    { fFillPileUpHistograms = kTRUE  ; }
42   void    SwitchOffFillPileUpHistograms()   { fFillPileUpHistograms = kFALSE ; }
43   
44  private:
45   
46   Int_t  fPdg ;                  // identified particle id
47   Bool_t fFillPileUpHistograms;  // Fill pile-up related histograms
48
49   //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
59   
60   //MC
61   TH1F * fhPtPion;      //! pT distribution
62   TH2F * fhPhiPion;     //! phi distribution vs pT
63   TH2F * fhEtaPion;     //! eta distribution vs pT
64   
65   TH1F * fhPtProton;    //! pT distribution
66   TH2F * fhPhiProton;   //! phi distribution vs pT
67   TH2F * fhEtaProton;   //! eta distribution vs pT
68   
69   TH1F * fhPtElectron;  //! pT distribution
70   TH2F * fhPhiElectron; //! phi distribution vs pT
71   TH2F * fhEtaElectron; //! eta distribution vs pT
72   
73   TH1F * fhPtKaon;      //! pT distribution
74   TH2F * fhPhiKaon;     //! phi distribution vs pT
75   TH2F * fhEtaKaon;     //! eta distribution vs pT
76   
77   TH1F * fhPtUnknown;   //! pT distribution
78   TH2F * fhPhiUnknown;  //! phi distribution vs pT
79   TH2F * fhEtaUnknown;  //! eta distribution vs pT
80   
81   // TOF
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
96
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
101
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
104
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
109   
110   
111   AliAnaChargedParticles(              const AliAnaChargedParticles & ch) ; // cpy ctor
112   AliAnaChargedParticles & operator = (const AliAnaChargedParticles & ch) ; // cpy assignment
113   
114   ClassDef(AliAnaChargedParticles,5)
115
116 } ;
117
118
119 #endif //ALIANACHARGEDPARTICLES_H
120
121
122