]>
Commit | Line | Data |
---|---|---|
c2c631b3 | 1 | #ifndef ALIANALYSISTASKCHECKV0_H |
2 | #define ALIANALYSISTASKCHECKV0_H | |
96cad837 | 3 | |
4 | /* See cxx source for full Copyright notice */ | |
5 | ||
6 | //----------------------------------------------------------------- | |
c8eada4f | 7 | // AliAnalysisTaskCheckV0 class |
8 | // This task is for QAing the V0s from ESD/AOD | |
96cad837 | 9 | // Origin: B.H. Nov2007, hippolyt@in2p3.fr |
10 | //----------------------------------------------------------------- | |
11 | ||
c8eada4f | 12 | class TString; |
96cad837 | 13 | class TList; |
14 | class TH1F; | |
50b713dc | 15 | class TH2F; |
96cad837 | 16 | |
c8eada4f | 17 | #include "AliAnalysisTaskSE.h" |
96cad837 | 18 | |
c2c631b3 | 19 | class AliESDEvent; |
20 | class AliESDVertex; | |
21 | class AliAODEvent; | |
22 | ||
c8eada4f | 23 | class AliAnalysisTaskCheckV0 : public AliAnalysisTaskSE { |
96cad837 | 24 | public: |
b638d7f5 | 25 | AliAnalysisTaskCheckV0(); |
26 | AliAnalysisTaskCheckV0(const char *name); | |
c8eada4f | 27 | virtual ~AliAnalysisTaskCheckV0() {} |
96cad837 | 28 | |
976dc218 | 29 | virtual void UserCreateOutputObjects(); |
30 | virtual void UserExec(Option_t *option); | |
96cad837 | 31 | virtual void Terminate(Option_t *); |
c8eada4f | 32 | |
83db4a5d | 33 | void SetCollidingSystems(Short_t collidingSystems = 0) {fCollidingSystems = collidingSystems;} |
7285f641 | 34 | void SetUsePhysicsSelection(Bool_t usePhysicsSelection = 0) {fUsePhysicsSelection = usePhysicsSelection;} |
c8eada4f | 35 | void SetAnalysisType(const char* analysisType) {fAnalysisType = analysisType;} |
7285f641 | 36 | void SetMaxPrimaryVtxPosZ(const Float_t maxPrimaryVtxPosZ = 100.) {fMaxPrimaryVtxPosZ = maxPrimaryVtxPosZ;} |
37 | void SetMinV0Pt(const Float_t minV0Pt = 0.) {fMinV0Pt = minV0Pt;} | |
38 | void SetMaxV0Pt(const Float_t maxV0Pt = 100.) {fMaxV0Pt = maxV0Pt;} | |
39 | void SetMaxV0Rapidity(const Float_t maxV0Rapidity = 1.) {fMaxV0Rapidity = maxV0Rapidity;} | |
40 | void SetMinDaughterTpcClusters(const Int_t minDaughterTpcClusters = 80) {fMinDaughterTpcClusters = minDaughterTpcClusters;} | |
96cad837 | 41 | |
42 | private: | |
c8eada4f | 43 | TString fAnalysisType; // ESD or AOD |
83db4a5d | 44 | Short_t fCollidingSystems; // Colliding systems 0/1 for pp/PbPb |
7285f641 | 45 | Bool_t fUsePhysicsSelection; // Delegate event selection to AliPhysicsSelectionTask |
46 | Float_t fMaxPrimaryVtxPosZ; // Primary vertex selection in Z | |
47 | Float_t fMinV0Pt; // Minimum pt selection for the V0 | |
48 | Float_t fMaxV0Pt; // Maximum pt selection for the V0 | |
49 | Float_t fMaxV0Rapidity; // Maximum rapidity selection for the V0 | |
50 | Int_t fMinDaughterTpcClusters; // Minimum number of TPC clusters for the both daughter tracks of the V0 | |
96cad837 | 51 | TList *fListHist; //! List of histograms |
b638d7f5 | 52 | TH1F *fHistPrimaryVertexPosX; //! Primary vertex position in X |
53 | TH1F *fHistPrimaryVertexPosY; //! Primary vertex position in Y | |
54 | TH1F *fHistPrimaryVertexPosZ; //! Primary vertex position in Z | |
7285f641 | 55 | TH1F *fHistKeptPrimaryVertexPosX; //! Primary vertex position in X after event selection |
56 | TH1F *fHistKeptPrimaryVertexPosY; //! Primary vertex position in Y after event selection | |
57 | TH1F *fHistKeptPrimaryVertexPosZ; //! Primary vertex position in Z after event selection | |
96cad837 | 58 | TH1F *fHistTrackMultiplicity; //! Track multiplicity distribution |
59 | TH1F *fHistV0Multiplicity; //! V0 multiplicity distribution | |
60 | TH1F *fHistV0OnFlyStatus; //! V0 on fly status distribution | |
61 | ||
62 | // V0 offline distributions | |
63 | TH1F *fHistV0MultiplicityOff; //! V0 multiplicity distribution offline | |
64 | TH1F *fHistV0Chi2Off; //! V0 chi2 distribution | |
65 | TH1F *fHistDcaV0DaughtersOff; //! Dca between V0 daughters | |
66 | TH1F *fHistV0CosineOfPointingAngleOff; //! Cosine of V0 pointing angle | |
67 | TH1F *fHistV0RadiusOff; //! V0 radial distance distribution | |
68 | TH1F *fHistDcaV0ToPrimVertexOff; //! Dca of V0 to primary vertex | |
69 | TH1F *fHistDcaPosToPrimVertexOff; //! Dca of V0 positive daughter to primary vertex | |
70 | TH1F *fHistDcaNegToPrimVertexOff; //! Dca of V0 negative daughter to primary vertex | |
71 | ||
9ea746fc | 72 | TH1F *fHistMassK0sOff; //! Invariant mass of K0s |
73 | TH1F *fHistMassLambdaOff; //! Invariant mass of Lambda | |
74 | TH1F *fHistMassAntiLambdaOff; //! Invariant mass of Anti-Lambda | |
7285f641 | 75 | TH2F *fHistMassK0sOffVsPt; //! Invariant mass of K0s |
76 | TH2F *fHistMassLambdaOffVsPt; //! Invariant mass of Lambda | |
77 | TH2F *fHistMassAntiLambdaOffVsPt; //! Invariant mass of Anti-Lambda | |
50b713dc | 78 | TH2F *fHistArmenterosPodolanskiOff; //! Armenteros-Podolanski distribution |
96cad837 | 79 | |
80 | // V0 on-the-fly distributions | |
9ea746fc | 81 | TH1F *fHistV0MultiplicityOn; //! V0 multiplicity distribution on-the-fly |
96cad837 | 82 | TH1F *fHistV0Chi2On; //! V0 chi2 distribution |
83 | TH1F *fHistDcaV0DaughtersOn; //! Dca between V0 daughters | |
84 | TH1F *fHistV0CosineOfPointingAngleOn; //! Cosine of V0 pointing angle | |
85 | TH1F *fHistV0RadiusOn; //! V0 radial distance distribution | |
86 | TH1F *fHistDcaV0ToPrimVertexOn; //! Dca of V0 to primary vertex | |
87 | TH1F *fHistDcaPosToPrimVertexOn; //! Dca of V0 positive daughter to primary vertex | |
88 | TH1F *fHistDcaNegToPrimVertexOn; //! Dca of V0 negative daughter to primary vertex | |
89 | ||
9ea746fc | 90 | TH1F *fHistMassK0sOn; //! Invariant mass of K0s |
91 | TH1F *fHistMassLambdaOn; //! Invariant mass of Lambda | |
92 | TH1F *fHistMassAntiLambdaOn; //! Invariant mass of Anti-Lambda | |
7285f641 | 93 | TH2F *fHistMassK0sOnVsPt; //! Invariant mass of K0s |
94 | TH2F *fHistMassLambdaOnVsPt; //! Invariant mass of Lambda | |
95 | TH2F *fHistMassAntiLambdaOnVsPt; //! Invariant mass of Anti-Lambda | |
50b713dc | 96 | TH2F *fHistArmenterosPodolanskiOn; //! Armenteros-Podolanski distribution |
96cad837 | 97 | |
c8eada4f | 98 | AliAnalysisTaskCheckV0(const AliAnalysisTaskCheckV0&); // not implemented |
99 | AliAnalysisTaskCheckV0& operator=(const AliAnalysisTaskCheckV0&); // not implemented | |
96cad837 | 100 | |
976dc218 | 101 | ClassDef(AliAnalysisTaskCheckV0, 1); |
96cad837 | 102 | }; |
103 | ||
104 | #endif |