]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/macros/AliSelectorLYZNewMethod.h
Macros for Lee Yang Zeroes from Naomi van der Kolk
[u/mrichter/AliRoot.git] / PWG2 / FLOW / macros / AliSelectorLYZNewMethod.h
1 /* Id: AliSelectorLYZNewMethod.h, v1.0 30/07/2007 kolk Exp */
2 /* derived from AliSelectorFoF.h, v1.1 01/02/2007 esimili Exp */
3 /* derived from AliSelector.h,v 1.10 2006/08/15 jgrosseo Exp */
4
5 // This selector is only dependent on the ESD library, if you need the whole of AliROOT use AliSelectorRL
6 #ifndef ALISELECTORLYZNEWMETHOD_H
7 #define ALISELECTORLYZNEWMETHOD_H
8
9 #include <iostream>
10 using namespace std;
11
12 #include <TSelector.h>
13 #include "AliFlowConstants.h"
14 #include "AliFlowLYZConstants.h"
15
16 class AliFlowEvent;
17 class AliFlowTrack;
18 class AliFlowSelection;
19 class AliFlowMaker;
20 class AliESD;
21 class AliESDtrack;
22
23 class TFile;
24 class TTree;
25 class TObjArray;
26 class TH1F;
27 class TProfile;
28
29 class AliSelectorLYZNewMethod : public TSelector {
30
31
32   public:
33
34     AliSelectorLYZNewMethod();
35     virtual ~AliSelectorLYZNewMethod();
36
37    // default AliSelector things
38     virtual Int_t   Version() const {return 1;}
39     virtual void    Begin(TTree*);
40     virtual void    SlaveBegin(TTree* tree);
41     virtual void    Init(TTree *tree);
42     virtual Bool_t  Notify();
43     virtual Bool_t  Process(Long64_t entry);
44     virtual void    SlaveTerminate();
45     virtual void    Terminate();
46
47   
48  protected:
49   
50     TTree*        fTree;                  //! pointer to the TTree containing the events
51     AliESD*       fESD;                   //! "ESD" branch in fChain
52     Int_t         fCountFiles ;           //! number of processed file
53   
54   // default AliSelector things
55     TTree*        GetKinematics();
56     void          CheckOptions();
57
58  private:
59   // flow things
60     TFile*        fOutfile; 
61     TFile*        fFirstRunFile ;      //! pointer to file from first run
62     TFile*        fSecondRunFile ;     //! pointer to file from second run
63     AliFlowEvent*             fFlowEvent ;        //! pointer to flow event
64     AliFlowTrack*             fFlowTrack;         //! 
65     TObjArray*                fFlowTracks;        //! 
66     AliFlowSelection*         fFlowSelect;        //! pointer to flow selection
67     AliFlowMaker*             fFlowMaker;         //!
68
69   // enumerators                                  
70     Int_t         fRunID;             //! last run ID
71     Int_t         fEventNumber ;      //! progressive enumeration of ESD events
72     Int_t         fNumberOfTracks ;   //! progressive enumeration of ESD tracks
73     Int_t         fNumberOfV0s ;      //! progressive enumeration of ESD V0
74     Int_t         fNumberOfEvents ;   //! total number of ESD events in file
75  
76     //histograms
77     //input
78     TProfile*  h1;    //!
79     TProfile*  h2;    //!
80     TH1F*      h3;    //!
81     TProfile*  p1;    //!
82     TProfile*  p2;    //!
83     TProfile*  p3;    //!
84     TProfile*  p4;    //!
85     TProfile*  p5;    //!
86     //output
87     TProfile*  fHistProFlow;         //!
88     TH1F*      fHistQtheta;          //!
89     TProfile*  fHistProR0thetaHar2;  //!
90     TProfile*  fHistProReDtheta;     //!
91     TProfile*  fHistProImDtheta;     //!
92
93   // default AliSelector things
94     void              DeleteKinematicsFile();
95     TFile*            fKineFile;          //! pointer to Kinematics.root if the file was opened
96
97   // to make the code checker happy
98     AliSelectorLYZNewMethod(const AliSelectorLYZNewMethod&);
99     AliSelectorLYZNewMethod& operator=(const AliSelectorLYZNewMethod&);
100
101   ClassDef(AliSelectorLYZNewMethod,0);
102 };
103
104 #endif