]>
Commit | Line | Data |
---|---|---|
c014f07d | 1 | #ifndef AliAnaVZEROTrigger_cxx |
2 | #define AliAnaVZEROTrigger_cxx | |
3 | ||
4 | class TH1F; | |
5 | class TH2F; | |
6 | class AliESDEvent; | |
7 | ||
8 | #include "AliAnalysisTaskSE.h" | |
9 | ||
10 | class 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 |