]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/LRC/AliLRCBase.h
Improving binning hanlding in the LTM robust estimator
[u/mrichter/AliRoot.git] / PWGCF / EBYE / LRC / AliLRCBase.h
CommitLineData
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
18class TList;\r
19class AliLRCBase: public TObject\r
20{\r
75f8532d 21public: \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
93private:\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