1 /**************************************************************************
2 * Author : Benjamin Dönigus (benjamin.doenigus@cern.ch) *
4 * Contributors are mentioned in the code where appropriate. *
6 * Permission to use, copy, modify and distribute this software and its *
7 * documentation strictly for non-commercial purposes is hereby granted *
8 * without fee, provided that the above copyright notice appears in all *
9 * copies and that both the copyright notice and this permission notice *
10 * appear in the supporting documentation. The authors make no claims *
11 * about the suitability of this software for any purpose. It is *
12 * provided "as is" without express or implied warranty. *
13 **************************************************************************/
15 //-----------------------------------------------------------------
16 // AliAnalysisTaskHdibaryonLPpi class
17 // used to search for the H-Dibaryon in weak
18 // (Lambda Proton Pion) and strong (Lambda Lambda) decays
19 //-----------------------------------------------------------------
22 #ifndef ALIANALYSISTASKHDIBARYONLPPI_H
23 #define ALIANALYSISTASKHDIBARYONLPPI_H
25 // analysis task for the H-Dibaryon analysis
26 // Author: Benjamin Doenigus
28 #include "AliAnalysisTaskSE.h"
29 //#include "AliESDv0Cuts.h"
37 class AliESDtrackCuts;
47 class AliMCEventHandler;
52 class AliVertexerTracks;
54 class AliAnalysisTaskHdibaryonLPpi : public AliAnalysisTaskSE {
57 AliAnalysisTaskHdibaryonLPpi();
58 AliAnalysisTaskHdibaryonLPpi(const char *name);
59 // AliAnalysisTaskHdibaryonLPpi();
60 virtual ~AliAnalysisTaskHdibaryonLPpi();
62 void SetHasMC(Bool_t hasMC=kTRUE){SetBit(kHasMC,hasMC);}
63 Bool_t HasMC(){return TestBit(kHasMC);}
65 // virtual void ConnectInputData(Option_t *);
66 virtual void UserCreateOutputObjects();
67 //virtual void Exec(Option_t *option);
68 virtual void UserExec(Option_t* /*option*/);
70 virtual void Terminate(Option_t *);
75 AliMCEvent* GetMCEvent() const{return fMCEvent;} // for CF
78 AliESDEvent *fESD; //AliESD event
79 // AliESDtrackCuts* fEsdTrackCuts; // track cuts
80 AliESDtrackCuts *fESDtrackCutsV0; // basic cut variables for v0's
81 AliESDv0Cuts *fESDCutsV0; // V0 track cuts
82 AliESDtrackCuts* fEsdTrackCuts; // track cuts
84 Int_t fBin; //bin for the angular plot
86 AliVEvent *fEvent; //! current event
88 TList *fHistList; //TList
89 TH1F *fHistMassDPi; // V0 online finder
90 TH1F *fHistMassLPi; // V0 offline finder
91 TH1F *fHistMassLambdaPi; // inv mass lambda pi
92 TH1F *fHistMassLambda; // inv mass lambda from tlorentz
93 TH1F *fHistMassLambdaPPi; // inv mass Lambda p pi before cuts
94 TH1F *fHistMassLambdaP; // inv mass Lambda p
95 TH1F *fHistMassLambdaK; // inv mass Lambda K
97 TH1F *fHistMassK0onl; // K0 mass
98 TH1F *fHistMassK0offl; // K0 mass
99 TH1F *fHistMassK0onlC; // K0 mass
100 TH1F *fHistMassK0offlC;// K0 mass
101 TH1F *fHistMassPQonl; // K0 mass
102 TH1F *fHistMassPQoffl; // K0 mass
104 TH2F *fHistArmenterosPodolanski; // AP distribution
105 TH2F *fHistArmenterosPodolanskiCut; // AP distributian after cuts
106 TH1F *fHistHDibaryonInvaMassGen; //! for MC
107 TH1F *fHistHDibaryonInvaMassGenRes; //! for MC
108 TH1F *fHistAntiHDibaryonInvaMassGen; //! for MC
109 TH1F *fHistHDibaryonInvaMassAso; //! for MC
110 TH1F *fHistHDibaryonInvaMassAsoReso; //! for MC
111 TH1F *fHistAntiHDibaryonInvaMassAso; //! for MC
112 TH2F *fHistCheck; // Online vs. Offline V0 finder
113 TH1F *fHistHPointingAngle; // Poniting angle dist
114 TH1F *fHistMassH; // Rec. H mass
115 TH1F *fHistMassLambdaFromH; // True Lambdas from H
116 TH1F *fHistMassLambdaFromHtLorentz; // via TLorentz
117 TH1F *fHistMassPpi; //inv mass ppi
118 TH1F *fHistMassPpiReso; // inv mass ppi reso
119 TH1F *fHistMassLpi; // inv mass lambda pi
120 TH1F *fHistMassLP; // inv mass lambda p
121 TH2F *fHistProtonPIDBb;//TPC BB for Proton PID
122 TH2F *fHistPionPIDBb;//TPC BB for Pion PID
123 TH2F *fHistProtonPIDLambda;//TPC BB for Proton PID from Lambda
124 TH2F *fHistPionPIDLambda;//TPC BB for Pion PID from Lambda
125 TH1F *fHistMCdcaPvtxDvtx; //mc dca
126 TH1F *fHistMCdcaPvtxLvtx; //mc dca
127 TH1F *fHistMCdcaDvtxLvtx; // mc dca
128 TH1F *fHistMCangleLH; // angle between H and Lambda
129 TH1F *fHistMCdecayAngle; // decay angle
130 TH1F *fHistMCpointingAngle; // true PA
131 TH2F *fHistMCap; // true AP
132 TH1F *fHistMCdcaPvtxDvtxReso; //mc dca
133 TH1F *fHistMCdcaPvtxLvtxReso; // mc dca
134 TH1F *fHistMCdcaDvtxLvtxReso; // mc dca
135 TH1F *fHistMCangleLHReso; // mc anle
136 TH1F *fHistMCdecayAngleReso; // mc decay angle
137 TH1F *fHistMCpointingAngleReso; // mc PA
138 TH2F *fHistMCapReso; // MC ap for reso
139 TH1F *fHistCentrality; // Centrality histogram
140 TH1F *fHistCentralityAC; // Centrality histogram after selection cuts
141 TH1F *fHistMultiplicity; // Multiplicity histogram
143 TH1F *fHistHilf1; // Support
144 TH1F *fHistHilf2; // support
145 TH1F *fHistHilf3; // support
146 TH1F *fHistHilf4; // support
147 TH1F *fHistHilf5; // support
148 TH1F *fHistHilf6; // support
149 TH2F *fHistPtvsEtaGen; // eta vs pt generated
150 TH2F *fHistPtvsEtaAso; // eta vs pt associated
151 TH2F *fHistPtvsYGen; // y vs pt generated
152 TH2F *fHistPtvsYAso; // y vs pt associated
153 TH1F *fHistRap; // rapidity
155 TH1F *fHistCount; //Counting of events and different decay parameters
157 AliPIDResponse *fPIDtpcESD; //! PID response object
158 TH1F *fHistTriggerStat; //! Trigger statistics
159 TH1F *fHistTriggerStatAfterEventSelection; //! Trigger statistics
160 TH3F *fHistMassHcentMult; // Inv. mass vs. centrality vs. multiplicity
161 THnSparse *fHistNdim; //THnSparse
167 AliAnalysisTaskHdibaryonLPpi(const AliAnalysisTaskHdibaryonLPpi&); // not implemented
168 AliAnalysisTaskHdibaryonLPpi& operator=(const AliAnalysisTaskHdibaryonLPpi&); // not implemented
171 ClassDef(AliAnalysisTaskHdibaryonLPpi, 1); // analysisclass