AliPhysics  66e96a0 (66e96a0)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalJetHF.h
Go to the documentation of this file.
1 #ifndef AliAnalysisTaskEmcalJetHF_h
2 #define AliAnalysisTaskEmcalJetHF_h
3 
4 //ROOT
5 class TClonesArray;
6 class TH1;
7 class TH2;
8 class TH3;
9 class TH1F;
10 class TH2F;
11 class TH3F;
12 class THnSparse;
13 class TLorentzVector;
14 class TGraph;
15 class TClonesArray;
16 class TArrayI;
17 class TProfile;
18 //ALIROOT
19 class AliEMCALTrack;
20 class AliMagF;
21 class AliESDEvent;
22 class AliAODEvent;
23 class AliEMCALGeometry;
24 class AliEMCALRecoUtils;
25 class AliESDtrack;
26 class AliESDtrackCuts;
27 class AliAnalysisEtCuts;
28 class AliDetectorPID;
29 class AliESDCaloCluster;
30 class AliJetContainer;
33 class AliEMCALTriggerPatchInfo;
34 class AliVCaloTrigger;
35 //INCLUDES
36 #include <TRef.h>
37 #include <TBits.h>
38 #include <TMath.h>
39 #include <AliEmcalJet.h>
40 #include <AliVEvent.h>
41 #include <AliVTrack.h>
42 #include <AliVCluster.h>
43 #include <TClonesArray.h>
44 #include <TMath.h>
45 #include <TRandom3.h>
46 #include <AliLog.h>
48 #include "AliEMCALPIDResponse.h"
49 #include <AliESDCaloCluster.h>
50 #include <AliESDtrackCuts.h>
51 #include "AliAODTrack.h"
52 #include "AliESDtrack.h"
53 #include "AliPID.h"
54 #include "AliTPCdEdxInfo.h"
55 #include "AliEMCALTriggerPatchInfo.h"
56 #include "AliAnalysisTaskEmcal.h"
58 #include "AliPIDResponse.h"
59 #include "AliTPCPIDResponse.h"
60 #include "AliESDpid.h"
61 #include "AliAnalysisFilter.h"
62 
64  public:
65 
67  kManual = 0, //just select highest energy patch in array
68  kEmcalJet = 1 //use functionality of AliAnalysisTaskEmcal
69  };
70 
72  AliAnalysisTaskEmcalJetHF(const char *name);
74  virtual void UserCreateOutputObjects();
77 
78  AliAnalysisEtCuts * GetCuts() const { return fCuts; }
79  virtual void SetCuts(const AliAnalysisEtCuts *cuts){ fCuts = (AliAnalysisEtCuts *) cuts; }
80  void SetTPCITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITSTPC = (AliESDtrackCuts *) cuts;}
81  void SetTPCOnlyTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsTPC = (AliESDtrackCuts *) cuts;}
82  void SetITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITS = (AliESDtrackCuts *) cuts;}
83  //PID Sparse
84  virtual THnSparse* NewTHnSparseDHF(const char* name, UInt_t entries);
85  virtual void GetDimParamsHF(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);
86  //JetTrigger Sparse
87  virtual THnSparse* NewTHnSparseDJetTrigger(const char* name, UInt_t entries);
88  virtual void GetDimParamsJetTrigger(Int_t iEntry,TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax);//
89  // setters
90  virtual void SetGlobalQA(Bool_t PID) { fGlobalQA = PID; }
91  void SetJetPt(Double_t jpt) { fJetHIpt = jpt; }
92  void SetTrackPtCut(Double_t trpt) { fTrackPtCut = trpt; }
93  virtual void SetTrackEta(Double_t e) { fTrackEta = e; }
94  virtual void SetTrackQACut(Double_t trkQAcut) { fTrkQAcut = trkQAcut; }
95  void SetTrackCuts(AliESDtrackCuts *cuts) { fesdTrackCuts = cuts; }
96  virtual void SetFillHistograms(Bool_t fillhists) { fFillHists = fillhists; }
97  virtual void SetFillJetPID(Bool_t jetPID) { fJetPID = jetPID; }
98  // eta and phi limits of jets - setters
99  virtual void SetJetEta(Double_t emin, Double_t emax) { fEtamin = emin; fEtamax = emax; }
100  virtual void SetJetPhi(Double_t pmin, Double_t pmax) { fPhimin = pmin; fPhimax = pmax; }
101 
102  protected:
103  Bool_t Run();
104  virtual void Terminate(Option_t *);
105  virtual Int_t AcceptMyJet(AliEmcalJet *jet);
106  virtual Int_t AcceptJetforTag(AliVCluster *clusMatch, AliVTrack *AcceptedTrack);
107  virtual Int_t GetCentBin(Double_t cent) const;
108  void ExecOnce();
110  void ExtractMainPatch();
111  // Trigger bit
112  Bool_t IsEventEMCALL1Gamma1() const { return fEventTrigEMCALL1Gamma1 ; }
113  Bool_t IsEventEMCALL1Gamma2() const { return fEventTrigEMCALL1Gamma2 ; }
117  // data type switch
118  AliVEvent *fInputEvent;
119  AliAnalysisEtCuts *fCuts;
120  // cuts
121  Double_t fPhimin;
122  Double_t fPhimax;
123  Double_t fEtamin;
124  Double_t fEtamax;
125  Double_t fAreacut;
126  Double_t fJetHIpt;
127  Double_t fTrackPtCut;
128  Double_t fTrackEta;
129  Double_t fTrkQAcut;
130  Double_t fM02max;
131  Double_t fM02min;
132  AliESDtrackCuts *fesdTrackCuts;
133  //General Task Switches
134  Bool_t fGlobalQA;
135  Bool_t fFillHists;
136  Bool_t fJetPID;
137  // event no.
138  Int_t event;
139  // PID
140  AliPIDResponse *fPIDResponse;
141  AliTPCPIDResponse *fTPCResponse;
142  AliESDtrackCuts* fEsdtrackCutsITSTPC;
143  AliESDtrackCuts* fEsdtrackCutsTPC;
144  AliESDtrackCuts* fEsdtrackCutsITS;
145  //Containers
151 
152  private: //Declare it private to avoid compilation warning
153  AliESDEvent *fESD;
154  AliAODEvent *fAOD;
155  AliEMCALTriggerPatchInfo *fMaxPatch;
159  //Histos
170  //Sparse
171  THnSparse *fhnTriggerInfo;
172  THnSparse *fhnTrackClusterQA;
173  THnSparse *fhnPIDHFTtoC;
174  THnSparse *fhnJetTrigger;
175 
178  ClassDef(AliAnalysisTaskEmcalJetHF, 4);// Emcal jet Heavy Flavor
179 };
180 #endif
AliEMCALTriggerPatchInfo * fMaxPatch
AOD Object.
virtual void SetGlobalQA(Bool_t PID)
virtual void SetTrackQACut(Double_t trkQAcut)
eta range of the associated tracks
virtual Int_t AcceptMyJet(AliEmcalJet *jet)
Output message at end of analysis.
virtual void GetDimParamsJetTrigger(Int_t iEntry, TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax)
virtual Int_t AcceptJetforTag(AliVCluster *clusMatch, AliVTrack *AcceptedTrack)
applies basic jet tests/cuts before accepting
virtual THnSparse * NewTHnSparseDJetTrigger(const char *name, UInt_t entries)
Bool_t fJetPID
Switch to Fill General Histograms.
AliAODEvent * fAOD
ESD object.
virtual void SetTrackEta(Double_t e)
track pt threshold to do PID on
void SetMainTriggerTypeCat(TriggerCategory cat, Bool_t b)
THnSparse * fhnJetTrigger
Jet PID using track to Cluster matching.
void SetTPCITSTrackCuts(const AliESDtrackCuts *cuts)
Double_t fJetHIpt
area cut on jet
void SetTrackCuts(AliESDtrackCuts *cuts)
AliVEvent * fInputEvent
Event is L1-Gamma, threshold 2 on its name, it should correspond kEMCEGA.
void SetTPCOnlyTrackCuts(const AliESDtrackCuts *cuts)
THnSparse * fhnTrackClusterQA
correlation between jets, patch energy and event observables
void SetJetPt(Double_t jpt)
Global PID fpr all tracks and clusters in event.
TH1F * fHistMatchedClusJet
use offline trigger instead of online from AliAnalysisTaskEmcal::GetMainTriggerPatch ...
Bool_t fFillHists
Switch for all HF Electron Candidates (Non-Jet)
virtual THnSparse * NewTHnSparseDHF(const char *name, UInt_t entries)
Bool_t fGlobalQA
ESD track cuts!!
virtual void SetJetEta(Double_t emin, Double_t emax)
Jet PID.
AliAnalysisEtCuts * fCuts
pointer to esd or aod input
AliParticleContainer * fTracksJetCont
Clusters.
Container for particles within the EMCAL framework.
AliPIDResponse * fPIDResponse
event number (processed)
void SetTrackPtCut(Double_t trpt)
jet threshold pt cut
MainPatchType fMainPatchType
main patch
Double_t fM02min
Cut on max EMCal Shower shape size for Electron ID.
AliParticleContainer * fTracksCont
Jets.
virtual void SetJetPhi(Double_t pmin, Double_t pmax)
Bool_t fEventTrigEMCALL1Gamma2
Event is L1-Gamma, threshold 1 on its name, it should correspond kEMCEGA.
virtual void SetFillJetPID(Bool_t jetPID)
TH2F * fHistdEtaPatchvdPhiPatch
Matched Cluster E vs Patch E.
TH2F * fHistCorrJetEvsPatchE
Highest Patch Energy per event.
TH1F * fHistRecalcGAEnergy
Highest Energy GA Patch size per event (tower)
AliESDtrackCuts * fEsdtrackCutsITSTPC
TPC pid response object.
AliClusterContainer * fCaloClustersJetCont
JetTracks.
AliAnalysisEtCuts * GetCuts() const
virtual void SetCuts(const AliAnalysisEtCuts *cuts)
AliESDtrackCuts * fEsdtrackCutsTPC
esd track cuts for ITS+TPC tracks
Manager for constants used in the trigger maker.
virtual void Terminate(Option_t *)
AliESDtrackCuts * fEsdtrackCutsITS
esd track cuts for TPC tracks (which may also contain ITS hits)
TH2F * fHistClusEvPatchE
Corrected Jet E v Trigger Patch E.
THnSparse * fhnPIDHFTtoC
track QA sparse
Int_t event
Switch for basic Jet HF Candidates.
virtual Int_t GetCentBin(Double_t cent) const
Accept Jet as HFE Jet to pass along to other tasks.
AliTPCPIDResponse * fTPCResponse
PID response object.
AliJetContainer * fJetsCont
esd track cuts for ITS stand alone tracks
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:44
AliESDEvent * fESD
JetClusters.
void SetITSTrackCuts(const AliESDtrackCuts *cuts)
const Int_t nbins
TriggerCategory
Online trigger categories.
ClassDef(AliAnalysisTaskEmcalJetHF, 4)
Container structure for EMCAL clusters.
AliESDtrackCuts * fesdTrackCuts
Cut on min EMCal Shower shape size for Electron ID.
Double_t fTrackEta
Track pt cut to do PID on.
void SetMainPatchType(MainPatchType t)
virtual void SetFillHistograms(Bool_t fillhists)
AliClusterContainer * fCaloClustersCont
Tracks.
void ExecOnce()
Get Centrality bin.
Container for jet within the EMCAL jet framework.
AliAnalysisTaskEmcalJetHF & operator=(const AliAnalysisTaskEmcalJetHF &)
virtual void GetDimParamsHF(Int_t iEntry, TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax)
TriggerCategory fMainTrigCat
method to select main patch
Bool_t fMainTrigSimple
trigger category for main trigger from AliAnalysisTaskEmcal::GetMainTriggerPatch
Double_t fPhimin
keeper of basic cut