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