]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliAnalysisTaskHFECal.h
Modify Kaon selection
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskHFECal.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *               
3  *                                                                        *               
4  * Author: The ALICE Off-line Project.                                    *               
5  * Contributors are mentioned in the code where appropriate.              *               
6  *                                                                        *               
7  * Permission to use, copy, modify and distribute this software and its   *               
8  * documentation strictly for non-commercial purposes is hereby granted   *               
9  * without fee, provided that the above copyright notice appears in all   *               
10  * copies and that both the copyright notice and this permission notice   *               
11  * appear in the supporting documentation. The authors make no claims     *               
12  * about the suitability of this software for any purpose. It is          *               
13  * provided "as is" without express or implied warranty.                  *               
14  **************************************************************************/
15
16 #ifndef ALIANALYSISTASKHFECAL_H
17 #define ALIANALYSISTASKHFECAL_H
18
19 class THnSparse;
20 class TH2F;
21 class TLorentzVector;
22
23 class AliEMCALTrack;
24 class AliMagF;
25 class AliESDEvent;
26 class AliAODEvent;
27 class AliEMCALGeometry;
28 class AliEMCALRecoUtils;
29 class AliAnalysisFilter;
30 class AliESDtrackCuts;
31 class AliESDtrack;
32 class AliHFEcontainer;
33 class AliHFEcuts;
34 class AliHFEpid;
35 class AliHFEpidQAmanager;
36 class AliCFManager;
37
38 #include "AliAnalysisTaskSE.h"
39 #include "AliStack.h"
40
41 class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
42  public:
43   AliAnalysisTaskHFECal();
44   AliAnalysisTaskHFECal(const char *name);
45   virtual ~AliAnalysisTaskHFECal();
46   
47   virtual void   UserCreateOutputObjects();
48   virtual void   UserExec(Option_t *option);
49   virtual void   Terminate(Option_t *);
50   
51   void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
52   void SetOpeningAngleCut (Double_t openingAngle) {fOpeningAngleCut = openingAngle;};
53   void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;};
54   void SetQAHist (int qahist) {fqahist = qahist;};
55   AliHFEpid *GetPID() const { return fPID; }
56   void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) { fRejectKinkMother = rejectKinkMother; };
57   void SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, AliStack *stack, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent);
58   double GetMCweight(double mcPi0pT);
59   void FindTriggerClusters();
60  private:
61   
62   Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
63   
64   AliESDEvent           *fESD;                  //!ESD object
65   AliMCEvent            *fMC;                   //!MC object
66   AliEMCALGeometry      *fGeom;                 // emcal geometry 
67     
68   TList                 *fOutputList;           //! output list
69   Int_t                 fqahist;  
70
71   AliESDtrackCuts       *fTrackCuts;            //! ESD track cuts
72   AliHFEcuts            *fCuts;                 //! Cut Collection
73   Bool_t                fIdentifiedAsOutInz;    //Out Of Range in z
74   Bool_t                fPassTheEventCut;       //Pass The Event Cut
75   Bool_t                fRejectKinkMother;      //Reject Kink Mother
76   Bool_t                fmcData;
77   Double_t              fVz;                    //z position of the primary vertex
78   AliCFManager          *fCFM;                  //! Correction Framework Manager
79   AliHFEpid             *fPID;                  //! PID
80   AliHFEpidQAmanager    *fPIDqa;                //! PID QA manager
81   Double_t              fOpeningAngleCut;       //openingAngle cut value
82   Double_t              fInvmassCut;            //invariant mass cut value
83  
84   int ftriggers[48][60];//!
85   int ftriggersCut[48][60];//!
86   int ftriggersTime[48][60];//!
87  
88
89   TH1F                  *fNoEvents;             //! no of events
90   THnSparseD            *fEMCAccE;              //! EMC acc
91   TH1F                  *fTrkpt;                //! track pt
92   TH2F                  *fTrkEovPBef;           //! track E/p before HFE pid
93   TH2F                  *fTrkEovPAft;           //! track E/p after HFE pid
94   TH2F                  *fdEdxBef;              //! track dEdx vs p before HFE pid
95   TH2F                  *fdEdxAft;              //! track dEdx vs p after HFE pid
96   TH2F                  *fIncpT;                //! HFE pid electron vs centrality
97   TH2F                  *fIncpTM20;             //! HFE pid electron vs centrality
98   THnSparseD            *fInvmassLS;            //! Inv mass of LS (e,e)
99   THnSparseD            *fInvmassULS;           //! Inv mass of ULS (e,e)
100   THnSparseD            *fInvmassLSmc;          //! Inv mass of LS (e,e)
101   THnSparseD            *fInvmassULSmc;         //! Inv mass of ULS (e,e)
102   TH1F                  *fOpeningAngleLS;       //! opening angle for LS pairs
103   TH1F                  *fOpeningAngleULS;      //! opening angle for ULS pairs
104   TH1F                  *fPhotoElecPt;          //! photonic elec pt 
105   TH2F                  *fPhoElecPt;            //! Pho inclusive ele pt
106   TH2F                  *fPhoElecPtM20;         //! Pho inclusive ele pt
107   TH2F                  *fSameElecPt;           //! Same inclusive ele pt
108   TH2F                  *fSameElecPtM20;                //! Same inclusive ele pt
109
110   TH1F                  *fTrackPtBefTrkCuts;    //! Track pt before track cuts  
111   TH1F                  *fTrackPtAftTrkCuts;    //! Track pt after track cuts
112   TH2F                  *fTPCnsigma;            //! TPC n sigma vs p    
113   
114   TH1F                  *fCent;                 //! centrality
115   THnSparseD            *fEleInfo;              //! EMC acc
116   /*
117   //<---- trigger info
118   TH1F        *fClsEBftTrigCut; //Cluster E before trigger selection
119   TH1F        *fClsEAftTrigCut; //Cluster E after trigger selection
120   TH1F        *fClsEAftTrigCut1;        //Cluster E after trigger selection
121   TH1F        *fClsEAftTrigCut2;        //Cluster E after trigger selection
122   TH1F        *fClsEAftTrigCut3;        //Cluster E after trigger selection
123   TH1F        *fClsEAftTrigCut4;        //Cluster E after trigger selection
124   TH2F        *fClsETime; //ClsE vs time distribution
125   TH2F        *fClsETime1; //ClsE vs time distribution
126   TH1F        *fTrigTimes;// trigger time
127   TH2F        *fCellCheck;// trigger time
128   */
129   //<------ MC
130   TH2F                  *fInputHFEMC;
131   TH2F                  *fInputAlle;
132   TH2F                  *fIncpTMChfe;           //! MC HFE pid electron vs centrality
133   TH2F                  *fIncpTMChfeAll;                //! MC HFE pid electron vs centrality
134   TH2F                  *fIncpTMCM20hfe;        //! MC HFE pid electron vs centrality
135   TH2F                  *fIncpTMCM20hfeAll;     //! MC HFE pid electron vs centrality
136  THnSparseD             *fIncpTMCpho;           //! MC HFE pid electron vs centrality
137  THnSparseD             *fIncpTMCM20pho;        //! MC HFE pid electron vs centrality
138  THnSparseD             *fPhoElecPtMC;          //! Pho inclusive ele pt
139  THnSparseD             *fPhoElecPtMCM20;               //! Pho inclusive ele pt
140  THnSparseD             *fSameElecPtMC;         //! Same inclusive ele pt
141  THnSparseD             *fSameElecPtMCM20;              //! Same inclusive ele pt
142  THnSparseD             *fIncpTMCM20pho_pi0e;   //! MC HFE pid electron vs centrality
143  THnSparseD             *fPhoElecPtMCM20_pi0e;          //! Pho inclusive ele pt
144  THnSparseD             *fSameElecPtMCM20_pi0e;         //! Same inclusive ele pt
145  TH1D                   *CheckNclust;  
146  TH1D                   *CheckNits;  
147  TH2D                   *Hpi0pTcheck; 
148  TH2D                   *HphopTcheck; 
149  TH2D                   *fMomDtoE; 
150  
151   AliAnalysisTaskHFECal(const AliAnalysisTaskHFECal&); // not implemented
152   AliAnalysisTaskHFECal& operator=(const AliAnalysisTaskHFECal&); // not implemented
153   
154   ClassDef(AliAnalysisTaskHFECal, 1); //!example of analysis
155 };
156
157 #endif
158
159