don't lie in the log!
[u/mrichter/AliRoot.git] / PWGPP / VZERO / AliAnaVZEROTrigger.h
CommitLineData
c014f07d 1#ifndef AliAnaVZEROTrigger_cxx
2#define AliAnaVZEROTrigger_cxx
3
4class TH1F;
5class TH2F;
6class AliESDEvent;
7
8#include "AliAnalysisTaskSE.h"
9
10class AliAnaVZEROTrigger : public AliAnalysisTaskSE {
11 public:
12 AliAnaVZEROTrigger();
13 AliAnaVZEROTrigger(const char *name);
14 virtual ~AliAnaVZEROTrigger() {}
15
16 virtual void UserCreateOutputObjects();
17 virtual void UserExec(Option_t *option);
18 virtual void Terminate(Option_t *);
19
20 virtual void Init();
21
22 void Setup(const char *filename);
23 void SetMBTrigName(const char *name = "CPBI") {fMBTrigName = name;}
e5f60c5a 24 void SetUsePhysSel(Bool_t usePhysSel) {fUsePhysSel = usePhysSel;}
c014f07d 25
26 Float_t GetMinThr() const {return fMinThr;}
27 Float_t GetMaxThr() const {return fMaxThr;}
28 Float_t GetRatio() const {return fRatio;}
29 Int_t GetNThr() const {return fNThr;}
30
31 Float_t GetCentCuts(Int_t i) const {return fCentCuts[i];}
32 Float_t GetSemiCentCuts(Int_t i) const {return fSemiCentCuts[i];}
33 Float_t GetThrA(Int_t j) const;
34 Float_t GetThrC(Int_t j) const;
35
36 private:
37 AliESDEvent *fESD; //! ESD object
38 TList *fOutputList; //! Output list
39
40 Float_t fMinThr; // Minimum threshold for the scan
41 Float_t fMaxThr; // Maximum threshold for the scan
42 Float_t fRatio; // Ratio between C and A side trigger charge
43 Int_t fNThr; // Number of thresholds in the scan
44
45 Float_t fCentCuts[2]; // Central cut extracted from the eff fit
46 Float_t fSemiCentCuts[2]; // Semi-central cut extracted from the eff fit
47
48 TString fMBTrigName; // MB trigger name (for evt sel)
e5f60c5a 49 Bool_t fUsePhysSel; // Use or not phys sel
c014f07d 50
51 TH1F *fV0Percent; //! V0 centrality percentile
52 TH1F *fV0PercentAll; //! V0 centrality percentile (no evt sel)
e5f60c5a 53 TH1F *fZvtx; //! Z vertex distribution after phys sel
54 TH2F *fXYvtx; //! XY vertex distribution after phys sel
c014f07d 55 TH1F *fV0Mult1d; //! V0 multiplicity distribution
56 TH2F *fV0Charge2d; //! V0 trigger charges distribution
57 TH2F *fV0Charge2dPercent; //! V0 trigger charges distribution weighted by centrality
58 TH2F *fV0Charge2dAll; //! V0 trigger charges distribution (no evt sel)
59
60 TH1F **fV0PercentBins; //! V0 centrality percentile with sequential thr
61 TH1F **fV0PercentBinsAll; //! V0 centrality percentile with sequential thr (no evt sel)
62
63 TH1F *fV0Cent; //! centrality percentile with central trigger using custom thresholds
64 TH1F *fV0CentAll; //! centrality percentile with central trigger using custom threshold (no evt sel)
65 TH1F *fV0SemiCent; //! centrality percentile with semi-central trigger using custom thresholds
66 TH1F *fV0SemiCentAll; //! centrality percentile with semi-central trigger using custom thresholds (no evt sel)
67
68 TH1F *fV0CentHw; //! centrality percentile with central trigger using hardware thresholds
69 TH1F *fV0CentHwAll; //! centrality percentile with central trigger using hardware threshold (no evt sel)
70 TH1F *fV0SemiCentHw; //! centrality percentile with semi-central trigger using hardware thresholds
71 TH1F *fV0SemiCentHwAll; //! centrality percentile with semi-central trigger using hardware thresholds (no evt sel)
72
73 TH1F *fV0CentTr; //! centrality percentile with central trigger using hardware thresholds
74 TH1F *fV0CentTrAll; //! centrality percentile with central trigger using hardware threshold (no evt sel)
75 TH1F *fV0SemiCentTr; //! centrality percentile with semi-central trigger using hardware thresholds
76 TH1F *fV0SemiCentTrAll; //! centrality percentile with semi-central trigger using hardware thresholds (no evt sel)
77
78 TH1F *fV0Percent63; //! centrality percentile when >=63 cells are fired
79 TH1F *fV0Percent63All; //! centrality percentile when >=63 cells are fired (no evt sel)
80
e5f60c5a 81 TH2F *fV0MultAll; //! total V0 multiplicity for all events
82 TH2F *fV0Mult63; //! total V0 multiplicity for events with at least 63 bb flags
83
84 TH2F *fV0CentVsMult; //! V0 centrality vs total V0 multiplicity
85 TH2F *fV0CentVsCharge; //! V0 centrality vs total V0 offline charge
86 TH2F *fV0CentVsTrCharge; //! V0 centrality vs total V0 online charge
87 TH2F *fV0TrChargeVsChargeA; //! V0 nline charge (A side) vs V0 offline charge (A side)
88 TH2F *fV0TrChargeVsChargeC; //! V0 nline charge (C side) vs V0 offline charge (C side)
89
90 TH2F *fAdcPmt; //! Charge per channel
91 TH2F *fAdcPmt0; //! Charge per channel
92 TH2F *fAdcPmt1; //! Charge per channel
93 TH2F *fAdcPmt2; //! Charge per channel
94 TH2F *fAdcPmt3; //! Charge per channel
c014f07d 95
96 AliAnaVZEROTrigger(const AliAnaVZEROTrigger&); // not implemented
97 AliAnaVZEROTrigger& operator=(const AliAnaVZEROTrigger&); // not implemented
98
99 ClassDef(AliAnaVZEROTrigger, 1); // VZERO analysis task for setting up of centrality trigger
100};
101
102#endif