AliPhysics  dc874a1 (dc874a1)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliForwardMultiplicityBase.h
Go to the documentation of this file.
1 //
2 // Base class for classes that calculate the multiplicity in the
3 // forward regions event-by-event
4 //
5 #ifndef ALIFORWARDMULTIPLICITYBASE_H
6 #define ALIFORWARDMULTIPLICITYBASE_H
7 
17 #include "AliBaseESDTask.h"
18 #include "AliForwardUtil.h"
19 #include "AliAODForwardMult.h"
20 #include "AliAODForwardEP.h"
21 #include "AliAODMultEventClass.h"
22 // class AliFMDEnergyFitter;
23 class AliFMDESDFixer;
26 class AliFMDCorrector;
29 // class AliMultEventClassifier;
30 class AliAODHandler;
31 class AliESDEvent;
32 class TH2D;
33 class TList;
34 class TTree;
35 class TAxis;
36 class TProfile;
37 
63 {
64 public:
68  enum {
76  };
80  enum {
97  };
107  virtual Bool_t Book();
116  virtual Bool_t PreData(const TAxis& vertex, const TAxis& eta);
123  virtual Bool_t PostEvent();
129  virtual Bool_t Finalize();
138  virtual void Print(Option_t* option="") const;
144  virtual void SetDoTiming(Bool_t enable=true) { fDoTiming = enable; }
150  virtual void SetEnableLowFlux(Bool_t use=true) { fEnableLowFlux = use; }
161  // virtual AliMultEventClassifier& GetMultEventClassifier() = 0;
168  // virtual const AliMultEventClassifier& GetMultEventClassifier() const = 0;
174  virtual AliFMDESDFixer& GetESDFixer() = 0;
180  virtual AliFMDSharingFilter& GetSharingFilter() = 0;
192  virtual AliFMDCorrector& GetCorrections() = 0;
198  virtual AliFMDHistCollector& GetHistCollector() = 0;
204  virtual const AliFMDESDFixer& GetESDFixer() const = 0;
210  virtual const AliFMDSharingFilter& GetSharingFilter() const = 0;
216  virtual const AliFMDDensityCalculator& GetDensityCalculator() const = 0;
222  virtual const AliFMDCorrector& GetCorrections() const = 0;
228  virtual const AliFMDHistCollector& GetHistCollector() const = 0;
240  virtual const AliFMDEventPlaneFinder& GetEventPlaneFinder() const = 0;
241  /* @} */
242 
248  virtual void SetDebug(Int_t dbg);
257  void SetStorePerRing(Bool_t use) { fStorePerRing = use; }
263  void SetAddMask(UInt_t mask) { fAddMask = mask; }
264 protected:
270  AliForwardMultiplicityBase(const char* name);
275  : AliBaseESDTask(),
276  fEnableLowFlux(true),
277  fStorePerRing(false),
278  fHData(0),
279  fHistos(),
280  fAODFMD(),
281  fAODEP(),
282  // fAODRef(),
283  fRingSums(),
284  fDoTiming(false),
285  fHTiming(0),
286  fHStatus(0),
288  {}
310  virtual void InitMembers(const TAxis& pe, const TAxis& pv);
314  virtual void CreateBranches(AliAODHandler* ah);
321  virtual void EstimatedNdeta(const TList* input, TList* output) const;
333  virtual Bool_t MakeSimpledNdeta(const TList* input,
334  TList* output,
335  Double_t& nTr,
336  Double_t& nTrVtx,
337  Double_t& nAcc);
347  virtual void MakeRingdNdeta(const TList* input,
348  const char* inName,
349  TList* output,
350  const char* outName,
351  Int_t style=20) const;
352  TAxis* DefaultEtaAxis() const { return new TAxis(200,-4,6); }
353  TAxis* DefaultVertexAxis() const { return new TAxis(10,-10,10); }
354  Bool_t fEnableLowFlux;// Whether to use low-flux specific code
355  Bool_t fStorePerRing; // Store each ring on separate branch
356  TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta
357  AliForwardUtil::Histos fHistos; // Cache histograms
358  AliAODForwardMult fAODFMD; // Output object
359  AliAODForwardEP fAODEP; // Output object
360  // AliAODMultEventClass fAODRef; // Reference multiplicity
361  AliForwardUtil::Histos fRingSums; // Cache histograms
362  Bool_t fDoTiming; // Whether to do timing or not
363  TProfile* fHTiming; // Timing histogram
364  TH1* fHStatus; // Status histogram
365  UInt_t fAddMask; // For which triggers to add internally
366  ClassDef(AliForwardMultiplicityBase,7) // Forward multiplicity class
367 };
368 
369 #endif
370 
371 // Local Variables:
372 // mode: C++
373 // End:
374 
virtual void CreateBranches(AliAODHandler *ah)
double Double_t
Definition: External.C:58
AliForwardMultiplicityBase & operator=(const AliForwardMultiplicityBase &o)
virtual AliFMDSharingFilter & GetSharingFilter()=0
virtual AliFMDESDFixer & GetESDFixer()=0
virtual AliFMDHistCollector & GetHistCollector()=0
virtual AliFMDDensityCalculator & GetDensityCalculator()=0
virtual AliFMDEventPlaneFinder & GetEventPlaneFinder()=0
ClassDef(AliBaseESDTask, 1)
Per-event per bin.
int Int_t
Definition: External.C:63
unsigned int UInt_t
Definition: External.C:33
virtual Bool_t MakeSimpledNdeta(const TList *input, TList *output, Double_t &nTr, Double_t &nTrVtx, Double_t &nAcc)
virtual Bool_t PreData(const TAxis &vertex, const TAxis &eta)
Various utilities used in PWGLF/FORWARD.
virtual void Print(Option_t *option="") const
Definition: External.C:228
virtual void EstimatedNdeta(const TList *input, TList *output) const
virtual void SetDoTiming(Bool_t enable=true)
virtual void InitMembers(const TAxis &pe, const TAxis &pv)
virtual void MakeRingdNdeta(const TList *input, const char *inName, TList *output, const char *outName, Int_t style=20) const
const char Option_t
Definition: External.C:48
virtual AliFMDCorrector & GetCorrections()=0
virtual void SetEnableLowFlux(Bool_t use=true)
bool Bool_t
Definition: External.C:53
Definition: External.C:196