end-of-line normalization
[u/mrichter/AliRoot.git] / PWGCF / EBYE / LRC / AliLRCBase.h
CommitLineData
7fac8669 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
18class TList;
19class AliLRCBase: public TObject
20{
21public:
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;
93private:
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