]>
Commit | Line | Data |
---|---|---|
a65a7e70 | 1 | //------------------------------------------------------------------------- |
2 | // Description: | |
3 | // This class is abstact (interface) base class for different classes | |
4 | // used for track-by-track data analysis in AliAnalysisTaskLRC | |
5 | // Origin: Andrey Ivanov (SPbSU-CERN) anivanov@cern.ch, | |
6 | // Igor Altsybeev (SPbSU-CERN) | |
7 | //------------------------------------------------------------------------- | |
8 | /* See cxx source for full Copyright notice */ | |
9 | ||
10 | #ifndef ALILRCBASE_H | |
11 | #define ALILRCBASE_H | |
12 | ||
13 | #include <TObject.h> | |
14 | ||
15 | ||
16 | ||
17 | // Include | |
18 | class TList; | |
19 | class AliLRCBase: public TObject | |
20 | { | |
21 | public: | |
22 | /*enum LRCparticleType | |
23 | { | |
24 | kLRCany = -1, | |
25 | kLRCother = 0, | |
26 | kLRCelectron, | |
27 | kLRCmuon, | |
28 | kLRCpion, | |
29 | kLRCkaon, | |
30 | kLRCproton, | |
31 | }; | |
32 | ||
33 | enum LRCpidFillCondition | |
34 | { | |
35 | kLRCpidIgnored, | |
36 | kLRCpidForBackwardOnly, | |
37 | kLRCpidForForwardOnly, | |
38 | kLRCpidForBoth, | |
39 | };*/ | |
40 | ||
41 | ||
42 | // Constructors | |
43 | AliLRCBase(): TObject() {}; // Constructor | |
44 | ||
45 | // Destructor | |
46 | virtual ~AliLRCBase(){}; | |
47 | ||
48 | virtual Bool_t InitDataMembers() = 0; //Is to be called in CreateOutputObjects method | |
49 | ||
50 | // Setters | |
51 | virtual void SetOutputSlotNumber(Int_t SlotNumber) = 0; // Sets number of output slot for LRCProcessor | |
52 | // virtual void SetPrintInfo( Bool_t _flagPrintInfo ) = 0; // Print info flag | |
53 | ||
54 | // Getters | |
55 | virtual void GetETAWindows(Double_t &_StartForwardETA,Double_t &_EndForwardETA,Double_t &_StartBakwardETA,Double_t &_EndBakwardETA) = 0; | |
56 | virtual void GetPhiWindows(Double_t &_StartForwardPhi,Double_t &_EndForwardPhi,Double_t &_StartBakwardPhi,Double_t &_EndBakwardPhi) = 0; | |
57 | virtual TList* CreateOutput() const = 0 ; // Creates output object | |
58 | virtual TString GetShortDef() const = 0 ; // Returns fShortDef value | |
59 | virtual Int_t GetOutputSlotNumber() const = 0 ; // Returns number of output slot for LRCProcessor | |
60 | ||
61 | // Track by track event import | |
62 | virtual void StartEvent() = 0; // Open new Event for track by track event import | |
63 | virtual void FinishEvent(Bool_t kDontCount = kFALSE) = 0; // Close opened event | |
64 | ||
65 | virtual void SetETAWindows( Double_t _StartForwardETA, Double_t _EndForwardETA, Double_t _StartBackwardETA, Double_t _EndBackwardETA ) = 0; // Sets both forward and backward | |
66 | ||
67 | virtual void AddTrackPtEta( Double_t Pt, Double_t Eta, Double_t Phi, Short_t Charge = 100, Int_t particleType = -1 ) = 0; // Imports track from the event | |
68 | virtual void AddTrackForward( Double_t Pt, Double_t Eta, Double_t Phi, Short_t Charge, Int_t particleType ) = 0; // Imports track to the event directly to Forward window | |
69 | virtual void AddTrackBackward( Double_t Pt, Double_t Eta, Double_t Phi, Short_t Charge, Int_t particleType ) = 0; // Imports track to the event directly to Backward window | |
70 | virtual void AddTrackPtEtaMixing( Int_t winFB, Double_t Pt, Double_t Eta ,Double_t Phi, Short_t Charge, Int_t particleType = -1 ) = 0; | |
71 | ||
72 | virtual void SetEventCentrality(Double_t centrality) = 0; | |
73 | virtual void SetEventPlane(Double_t eventPlane) = 0; | |
74 | ||
75 | virtual void SetParticleType( char* strForwardOrBackward, char* strPid ) = 0; | |
76 | ||
77 | virtual void SetForwardWindowPhi(Double_t StartForwardPhi,Double_t EndForwardPhi) = 0; | |
78 | virtual void SetBackwardWindowPhi(Double_t StartBackwardPhi,Double_t EndBackwardPhi) = 0; | |
79 | ||
80 | virtual void SetHistPtRange(Double_t LoPt,Double_t HiPt,Int_t PtBins) = 0; // Sets range for Pt histos axis | |
81 | ||
82 | virtual void Terminate() = 0; //was done for yield study | |
83 | ||
84 | //virtual void SetPidFillCondition( LRCparticleType particleType, LRCpidFillCondition fillCond ) | |
85 | // { fPidFillCondition = fillCond; | |
86 | // fWhichParticleToProcess = particleType; } // how to fill bckwd and fwd hists by pid | |
87 | ||
88 | //void SetParticleTypeToFill( LRCparticleType particleType ) { fWhichParticleToProcess = particleType; } // which particle type in this processor is considered | |
89 | ||
90 | //protected: | |
91 | //LRCparticleType fWhichParticleToProcess; // ! LRC processor sense only this type of particles (-1 by default) | |
92 | //LRCpidFillCondition fPidFillCondition; | |
93 | private: | |
94 | ||
95 | virtual void SetShortDef() =0; // Sets fShortDef according to window paramiters | |
96 | ||
97 | AliLRCBase(const AliLRCBase&); // not implemented | |
98 | AliLRCBase& operator=(const AliLRCBase&); // not implemented | |
99 | ||
100 | ||
101 | ||
102 | ClassDef(AliLRCBase, 1); | |
103 | }; | |
104 | ||
105 | #endif | |
106 |