Adding comments (Laurent)
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliSelectorFoF.h
CommitLineData
0ee287d5 1/* Id: AliSelectorFoF.h, v1.1 01/02/2007 esimili Exp */
2/* derived from AliSelector.h,v 1.10 2006/08/15 jgrosseo Exp */
3
4// This selector is only dependent on the ESD library, if you need the whole of AliROOT use AliSelectorRL
327288af 5#ifndef ALISELECTORFOF_H
6#define ALISELECTORFOF_H
0ee287d5 7
8#include <TSelector.h>
da5aa0a0 9#include "AliFlowConstants.h"
0ee287d5 10
11class AliFlowEvent;
12class AliFlowSelection;
13class AliFlowMaker;
14class AliFlowAnalyser;
15class AliFlowWeighter;
16
17class AliESD;
18class AliESDtrack;
19class AliESDv0;
20
21class TFile;
22class TTree;
23class TString;
24
25class AliSelectorFoF : public TSelector {
26
27
28 public:
29
30 AliSelectorFoF();
31 virtual ~AliSelectorFoF();
32
33 // defalt AliSelector things
34 virtual Int_t Version() const {return 1;}
35 virtual void Begin(TTree*);
36 virtual void SlaveBegin(TTree* tree);
37 virtual void Init(TTree *tree);
38 virtual Bool_t Notify();
39 virtual Bool_t Process(Long64_t entry);
40 virtual void SlaveTerminate();
41 virtual void Terminate();
42
43 // output file name
44 void SetFlowEventFileName(TString name) { fFlowEventFileName = name ; }
45 void SetFlowWeightFileName(TString name) { fFlowWgtFileName = name ; }
46 void SetFlowAnalysisFileName(TString name) { fFlowAnalysisFileName = name ; }
47 TString GetFlowEventFileName() { return fFlowEventFileName ; }
48 TString GetFlowWeightFileName() { return fFlowWgtFileName ; }
49 TString GetFlowAnalysisFileName() { return fFlowAnalysisFileName ; }
50
51 // tasks
52 void SetDoNothing(Bool_t kt = kTRUE) { fDoNothing = kt ; }
53 void SetSaveFlowEvents(Bool_t kt = kTRUE) { fSaveFlowEvents = kt ; }
54 void SetOnFlyAnalysis(Bool_t kt = kTRUE) { fOnFlyAnalysis = kt ; }
55 void SetOnFlyWeight(Bool_t kt = kTRUE) { fOnFlyWeight = kt ; }
56
57
58 protected:
59
60 TTree *fTree; //! pointer to the TTree containing the events
61 AliESD* fESD; //! "ESD" branch in fChain
62 Int_t fCountFiles ; //! number of processed file
63
64 // output file names
65 TString fFlowEventFileName; //! AliFlowEvents file
66 TString fFlowAnalysisFileName; //! Analysis Histograms file
67 TString fFlowWgtFileName; //! Weights file
68
69 // defalt AliSelector things
70 TTree* GetKinematics();
71 void CheckOptions();
72
73
74 private:
75
76 // flow things
77 TFile* fFlowfile ; //! pointer to flow event file
78 TFile* fFlowWgtFile ; //! pointer to flow weight file
79 AliFlowEvent* fFlowEvent ; //! pointer to flow event
80 AliFlowSelection* fFlowSelect; //! pointer to flow selection
81 AliFlowMaker* fFlowMaker ; //! flow evt maker
82 AliFlowWeighter* fFlowWeighter ; //! flow phi weights
83 AliFlowAnalyser* fFlowAnal ; //! flow analysis
84
85 // enumerators
86 Int_t fRunID; //! last run ID
87 Int_t fEventNumber ; //! progressive enumeration of ESD events
88 Int_t fNumberOfTracks ; //! progressive enumeration of ESD tracks
89 Int_t fNumberOfV0s ; //! progressive enumeration of ESD V0
90 Int_t fNumberOfEvents ; //! total number of ESD events in file
91
92 // Flags
93 Bool_t fDoNothing ; //! flag for a dummy execution
94 Bool_t fSaveFlowEvents ; //! flag for saving the flow events
95 Bool_t fOnFlyAnalysis ; //! flag for on-fly analysis
96 Bool_t fOnFlyWeight ; //! flag for on-fly analysis
97
98 // defalt AliSelector things
99 void DeleteKinematicsFile();
100 TFile* fKineFile; //! pointer to Kinematics.root if the file was opened
101
92016a03 102 // to make the code checker happy
0ee287d5 103 AliSelectorFoF(const AliSelectorFoF&);
104 AliSelectorFoF& operator=(const AliSelectorFoF&);
105
106 ClassDef(AliSelectorFoF,0);
107};
108
109#endif