]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Hypernuclei/AliAnalysisTaskHdibaryonLPpi.h
Corrected end-of-line behavior
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Hypernuclei / AliAnalysisTaskHdibaryonLPpi.h
1 /**************************************************************************
2  * Author : Benjamin Dönigus (benjamin.doenigus@cern.ch)                  *
3  *                                                                        *
4  * Contributors are mentioned in the code where appropriate.              *
5  *                                                                        *
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  **************************************************************************/
14
15 //-----------------------------------------------------------------
16 //                 AliAnalysisTaskHdibaryonLPpi class
17 //          used to search for the H-Dibaryon in weak 
18 //          (Lambda Proton Pion) and strong (Lambda Lambda) decays
19 //-----------------------------------------------------------------
20
21
22 #ifndef ALIANALYSISTASKHDIBARYONLPPI_H
23 #define ALIANALYSISTASKHDIBARYONLPPI_H
24
25 // analysis task for the H-Dibaryon analysis
26 // Author: Benjamin Doenigus
27
28 #include "AliAnalysisTaskSE.h"
29 //#include "AliESDv0Cuts.h"
30
31 class TH1F;
32 class AliESDEvent;
33 class TFile;
34 class TH2F;
35 class TH3F;
36 class THnSparse;
37 class AliESDtrackCuts;
38 class AliESDv0Cuts;
39 class AliMCEvent;
40 class TList;
41 class TParticle;
42 class TLegend;
43 class AliESDpid;
44 class AliHFEpid;
45 class AliHFEtools;
46
47 class AliMCEventHandler;
48 class TTree;
49 class TChain;
50 class TParallelCoord;
51
52 class AliVertexerTracks;
53
54 class AliAnalysisTaskHdibaryonLPpi : public AliAnalysisTaskSE {
55  
56 public:
57   AliAnalysisTaskHdibaryonLPpi();
58   AliAnalysisTaskHdibaryonLPpi(const char *name);
59   //  AliAnalysisTaskHdibaryonLPpi();
60   virtual ~AliAnalysisTaskHdibaryonLPpi();
61   
62   void SetHasMC(Bool_t hasMC=kTRUE){SetBit(kHasMC,hasMC);}
63   Bool_t HasMC(){return TestBit(kHasMC);}
64
65   //  virtual void   ConnectInputData(Option_t *);
66   virtual void   UserCreateOutputObjects();
67   //virtual void   Exec(Option_t *option);
68   virtual void   UserExec(Option_t* /*option*/);
69
70   virtual void   Terminate(Option_t *);
71
72   /*
73    *Get the MC stack 
74    */
75   AliMCEvent* GetMCEvent() const{return fMCEvent;}   // for CF
76
77 private:
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
83   
84   Int_t       fBin;        //bin for the angular plot
85
86   AliVEvent *fEvent;                //! current event
87
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
96
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
103   TH1F        *fHistDC; // DC
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
142  
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
154   
155   TH1F        *fHistCount; //Counting of events and different decay parameters
156   
157   AliESDpid   *fPIDtpcESD; //PID
158   TH1F        *fHistTriggerStat;                         //! Trigger statistics
159   TH1F        *fHistTriggerStatAfterEventSelection;      //! Trigger statistics
160   TH3F        *fHistMassHcentMult; // Inv. mass vs. centrality vs. multiplicity
161   THnSparse   *fHistNdim; //THnSparse
162
163   enum{
164         kHasMC=BIT(18)
165   };
166
167     AliAnalysisTaskHdibaryonLPpi(const AliAnalysisTaskHdibaryonLPpi&); // not implemented
168     AliAnalysisTaskHdibaryonLPpi& operator=(const AliAnalysisTaskHdibaryonLPpi&); // not implemented
169
170
171   ClassDef(AliAnalysisTaskHdibaryonLPpi, 1); // analysisclass
172
173
174 };
175
176 #endif