AliPhysics  9b6b435 (9b6b435)
AliAnalysisTaskEA.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEA_H
2 #define ALIANALYSISTASKEA_H
3 
4 
5 class TH1I;
6 class TH1F;
7 class TF1;
8 class TH2F;
9 class TH2D;
10 class TH1D;
11 class TArrayD;
12 class TArrayF;
13 class THnSparse;
14 class TProfile;
15 class TList;
16 class TClonesArray;
17 class TString;
18 class AliEmcalJet;
19 class AliRhoParameter;
20 class AliVParticle;
21 class AliLog;
22 class AliAnalysisUtils;
23 class TRandom3;
24 class AliJetContainer;
27 class AliMultSelection;
28 
29 #include <vector>
30 using std::vector;
31 
33 #include "AliEventCuts.h"
34 #include "AliFiducialCut.h"
35 #include "AliEMCALRecoUtils.h"
36 
37 
38 // ANALYSIS OF EVENT ACTIVITY WITH HIGH PT HADRON BIAS
39 // Author Filip Krizek (25 OCT 2018)
40 
42  public:
43 
44  enum Analysis {
47  fkVtx=3,
48  fkTTbins = 20 //maximum number of TT bins
49  };
50 
51  enum {fkV0A, fkV0C, fkSPD, fkZNA, fkZNC, fkCE};
52 
53  enum {kpp=0, kpPb=1};
54 
55 
56  // ######### CONTRUCTORS/DESTRUCTORS AND STD FUNCTIONS
58  AliAnalysisTaskEA(const char *name);
59  virtual ~AliAnalysisTaskEA();
61  void Terminate(Option_t *);
62 
64  Int_t system = AliAnalysisTaskEA::kpPb, // collision system
65  const char* jetarrayname = "Jet_AKTChargedR040_tracks_pT0150_pt_scheme", //name of jet TClones array for detector level jets
66  const char* jetarraynameMC = "Jet_AKTChargedR040_mcparticles_pT0150_pt_scheme", //name of jet TClones array for MC particle level jets
67  const char* trackarrayname = "tracks", //name of track TClonesArray for detector level jets
68  const char* mcpariclearrayname = "mcparticles", //name of track TClonesArray array for MC particle level jets
69  const char* clusterarrayname = "caloClusters", //name of EMCAL cluster TClonesArray array for detector level
70  const char* rhoname = "", //name of track TClonesArray for detector level jets
71  const char* mcrhoname = "", //name of track TClonesArray array for MC particle level jets
72  Double_t jetRadius = 0.4, //radius of analyzed jets
73  UInt_t trigger = AliVEvent::kAny, //trigger
74  Int_t isMC = 0, // 0=real data , 1= particle+detector level simulation
75  Double_t trackEtaWindow = 0.9, //pseudorapidity range for tracks
76  Bool_t useVertexCut = kTRUE, // vertex cut
77  Bool_t usePileUpCut = kTRUE, // discard pile up event
78  Double_t acut = 0.6, //cut on relative jet area
79  Double_t emcaltofcut = 30e-9, //cut on relative jet area
80  const char* suffix = "" //SUBWAGON has to be the last parameter
81  );
82 
83 
84  // ######### SETTERS/GETTERS
85  void SetMC(Int_t bMC){
86  fMC = bMC;
87  }
88 
90  void SetUsePileUpCut (Bool_t val) {fUsePileUpCut = val;}
91 
92  void SetAcceptanceWindows(Double_t trackEta){
93  fTrackEtaWindow = trackEta;
94  }
95 
96 
97  void SetVertexCut(Double_t vz){ fZVertexCut = vz; }
98  void SetMinTrackPt(Double_t mpt){ fMinTrackPt = mpt;}
99 
100  void SetExternalRhoTaskName(const char* name) {fRhoTaskName = name;}
101  void SetExternalRhoTaskNameMC(const char* name) {fRhoTaskNameMC = name;}
102 
103  void SetTrackContainerName(const char* name){ fMyTrackContainerName = name;}
104  void SetMCParticleContainerName(const char* name){ fMyParticleContainerName = name;}
105  void SetClusterContainerName(const char* name){ fMyClusterContainerName = name;}
106 
107  void SetJetContainerName(const char* name){ fMyJetContainerName = name;}
108  void SetMCJetContainerName(const char* name){ fMyJetParticleContainerName = name;}
112  void SetFillTTree(Bool_t b){ fFillTTree = b; } //fill output TTree
113  void SetSystem(Int_t sys){ fSystem = sys;} // Collision system pp or pP pp or pPb
114 
115  void SetMeanV0A(Double_t mva){ fMeanV0A = mva; }
116  void SetMeanV0C(Double_t mvc){ fMeanV0C = mvc; }
117 
120  Int_t GetMaxDistanceFromBorder(AliVCluster* cluster);
121  Bool_t FinalClusterCuts(AliVCluster* cluster);
122 
124  Bool_t Run();
126 
127 
128  private:
129 
130 
131  // ######### CHECK FUNCTIONS
132  Bool_t IsTrackInAcceptance(AliVParticle* track, Bool_t isGen=0);
133  Bool_t IsEventInAcceptance(AliVEvent* event);
134 
135 
136  // ######### STANDARD FUNCTIONS
137  void ExecOnceLocal();
138 
140 
141  // ########## USAGE TRIGGERS
142  Bool_t fUseDefaultVertexCut; // trigger if automatic vertex cut from helper class should be done
143  Bool_t fUsePileUpCut; // trigger if pileup cut should be done
144 
145 
146  // ########## SOURCE INFORMATION
147  TString fMyTrackContainerName; // name of detector level track container
148  TString fMyParticleContainerName; // name of particle level MC particle container
149  TString fMyJetContainerName; // name of detector level jet container
150  TString fMyJetParticleContainerName; // name of particle level MC jet container
151  TString fMyClusterContainerName; // name of detector level jet container
152 
158 
159  TString fRhoTaskName; // name of rho CMS bg task for this analysis
160  TString fRhoTaskNameMC; // MC name of rho CMS bg task for this analysis
161 
162 
163  // ########## CENTRALITY
165  AliMultSelection* fMultSelection;
166 
167  char fTrigClass[1000];
170 
176 
181  //
184  //
193  //
196 
205 
206 
207  // ########## CUTS
208  Double_t fTrackEtaWindow; // +- window in eta for tracks
209  Double_t fMinTrackPt; // Min track pt to be accepted
210 
211  // ########## GENERAL ////VARS
212  Bool_t fMC; // real data or MC flag
213  AliAnalysisUtils* fHelperClass;
215 
216 
218 
219  TH1F *fhVertexZ;
220 
229 
230  TH1F *fhRhoIncl;
235 
238 
244 
255 
263 
268 
269 
270  Double_t fZVertexCut; // vertex cut in z
271 
272  Int_t fnHadronTTBins; // number of TT bins charged hadron
273  Int_t fnJetChTTBins; // number of TT bins charged jet
274  Int_t fnClusterTTBins; // number of TT bins gamma cluster
275  Int_t fHadronTTLowPt[fkTTbins]; // low pt TT range charged hadron
276  Int_t fHadronTTHighPt[fkTTbins]; // high pt TT range charged hadron
277  Int_t fJetChTTLowPt[fkTTbins]; // low pt TT range charged jet
278  Int_t fJetChTTHighPt[fkTTbins]; // high pt TT range charged jet
279  Int_t fClusterTTLowPt[fkTTbins]; // low pt TT range charged jet
280  Int_t fClusterTTHighPt[fkTTbins]; // high pt TT range charged jet
281 
282 
286 
287  Bool_t fFillTTree; // Fill output TTree
288  Int_t fSystem; // Collision system
290 
291  Double_t fMeanV0A; // mean V0A signal in incl. MB
292  Double_t fMeanV0C; // mean V0C signal in incl. MB
293 
294 
297 
298  ClassDef(AliAnalysisTaskEA, 6); // Charged jet analysis for pAliAnalysisTaskHJetSpectra/home/fkrizek/z501.ALIC
299 
300 };
301 #endif
AliAnalysisUtils * fHelperClass
AliClusterContainer * fClusterContainerDetLevel
particle level jet container
void SetVertexCut(Double_t vz)
TH1D * fhMultTTHinMB[fkTTbins]
V0A vs V0C biased with cluster TT in Gamma trigger.
Bool_t FillHistograms()
Function filling histograms.
Float_t fCentralityZNC
Centrality from ZNA.
Bool_t fVertexer3d
Z vertex from ITS.
TH2F * fhClusterEtaInclMB
minimum bias phi inclusive cluster
TH1F * fhRhoTTCinGA[fkTTbins]
in events MB with cluster TT
TH2F * fhTrackEtaIncl
minimum bias phi inclusive ch hadron
TH1D * fhNormSumV0AV0CTTCinMB[fkTTbins]
distributions of (mult V0/mean V0A) + (mult VC/mean V0C) with ch jet TT
Int_t fJetChTTHighPt[fkTTbins]
double Double_t
Definition: External.C:58
Definition: External.C:236
TH1D * fhNormSumV0AV0CMB
distributions of centrality estimators: mult V0, mult VC, tracklets, znatower0, znctower0 ...
void SetMCParticleContainerName(const char *name)
Int_t fNClusters[2]
no. tracklets
Float_t fZPCtowerLG[5]
ZNC 5 tower signals.
Float_t fCentralityV0C
Centrality from V0A.
Container with name, TClonesArray and cuts for particles.
void SetExternalRhoTaskNameMC(const char *name)
TString fMyParticleContainerName
Float_t fZNCtower[5]
ZEM2 Energy.
Bool_t fIsEmcalTrig
triggered by Min Bias Trig
TH2F * fhTrackPhiIncl
gc vertexZ inclusive
void SetExternalRhoTaskName(const char *name)
Float_t fMultV0Cnorm
mult. V0A normalized by mean V0A
TH2F * fhV0AvsV0CTTJ[fkTTbins]
V0A vs V0C biased with hadron TT.
TH1I * fHistEvtSelection
trigger if tracks/jets are loaded initiates calling ExecOnce
void SetAcceptanceWindows(Double_t trackEta)
TH1F * fhVertexZ
gc event statistics
TH1D * fhCentralityTTH[fkCE][fkTTbins]
estimated centrality based on mult V0, mult VC, tracklets, znatower0, znctower0
TH2F * fhV0AvsV0CTTH[fkTTbins]
V0C vs SPD in MB.
TH1D * fhMultTTCinGA[fkTTbins]
multiplicity of cluster TT in MB event
AliAnalysisTaskEA & operator=(const AliAnalysisTaskEA &)
Float_t fMultV0A
V0C decision.
TH2F * fhJetEtaIncl
minimum bias phi inclusive ch jet
void SetClusterTT(Int_t tl, Int_t th)
TH2F * fhV0AvsV0C
distributions of (mult V0/mean V0A) + (mult VC/mean V0C) with cluster TT in Gamma trigger ...
Float_t fMultV0Anorm
mult. V0C
Int_t fJetChTT[fkTTbins]
array which stores the number of triggers in given event
void SetJetChTT(Int_t tl, Int_t th)
Some utilities for cluster and cell treatment.
Int_t fHadronTTHighPt[fkTTbins]
Container for particles within the EMCAL framework.
Float_t fZPAtower[5]
ZNA 5 tower signals.
Float_t fMultV0C
mult. V0A
void SetSystem(Int_t sys)
Int_t fClusterTTHighPt[fkTTbins]
Float_t fZPCtower[5]
ZNC 5 tower signals.
void SetMeanV0A(Double_t mva)
TH1D * fhSignalTTJ[fkCE][fkTTbins]
distributions of centrality estimators biased with hadron TT
int Int_t
Definition: External.C:63
Int_t GetMaxDistanceFromBorder(AliVCluster *cluster)
TH1D * fhMultTTJinMB[fkTTbins]
multiplicity of hadron TT in MB event
Definition: External.C:204
Bool_t fFillTTree
array which stores the number of jets in given event
unsigned int UInt_t
Definition: External.C:33
Int_t fNTracklets
Is vertex from 3d vertexer?
float Float_t
Definition: External.C:68
TH1D * fhVertex[fkVtx]
in events GA with cluster TT
AliParticleContainer * fParticleContainerPartLevel
detector level track container
void SetUsePileUpCut(Bool_t val)
TH2F * fhClusterPhiInclGA
minimum bias eta inclusive
TH1D * fhNormSumV0AV0CTTJ[fkTTbins]
distributions of (mult V0/mean V0A) + (mult VC/mean V0C) with hadron TT
Float_t fCentralityV0A
triggered by EMCAL
TH1D * fhSignalTTCinGA[fkCE][fkTTbins]
distributions of centrality estimators biased with cluster TT in min bias
Double_t fxVertex
Centrality from ZNC.
Definition: External.C:228
Float_t fZPAtowerLG[5]
ZNA 5 tower signals.
Definition: External.C:212
Int_t fIsV0CTriggered
VOA decision.
TH1D * fhNormSumV0AV0CTTCinGA[fkTTbins]
distributions of (mult V0/mean V0A) + (mult VC/mean V0C) with cluster TT in min bias ...
Int_t fHadronTT[fkTTbins]
TString fMyJetParticleContainerName
void SetClusterContainerName(const char *name)
Float_t fCentralityZNA
Centrality from Clusters in layer 1.
TH1F * fhRhoTTJ[fkTTbins]
in events MB with hadron TT
TH2F * fhV0AvsV0CTTCinGA[fkTTbins]
V0A vs V0C biased with cluster TT in min bias.
TH1D * fhSignalMB[fkCE]
estimated centrality in GA events biased with cluster TT
Bool_t fIsMinBiasTrig
fired trigger classes
void SetJetContainerName(const char *name)
char fTrigClass[1000]
object which handels centrality
Float_t fZNAtowerLG[5]
ZPC 5 tower signals.
Bool_t FinalClusterCuts(AliVCluster *cluster)
Float_t fZEM2Energy
ZEM1 Energy.
TH1D * fhCentralityMB[fkCE]
vertex distribution in events biased with hadron TT
Int_t fClusterTTLowPt[fkTTbins]
Double_t fTrackEtaWindow
ZPA 5 tower signals.
Float_t fZEM1Energy
V0 ring mult.
Double_t fZVertexCut
multiplicity of cluster TT in Gamma trigger event
void SetTrackContainerName(const char *name)
Bool_t RetrieveEventObjects()
Retrieve common objects from event.
TH2F * fhJetPhiIncl
minimum bias eta inclusive
TH2F * fhClusterEtaInclGA
minimum bias phi inclusive cluster
TH1D * fhCentralityTTCinGA[fkCE][fkTTbins]
estimated centrality in MB events biased with cluster TT
TH1D * fhSignalTTH[fkCE][fkTTbins]
distributions of (mult V0/mean V0A) + (mult VC/mean V0C) in MB
Bool_t isMC
void SetMC(Int_t bMC)
TH1F * fhRhoTTCinMB[fkTTbins]
in events MB with jet TT
void Terminate(Option_t *)
Double_t fyVertex
X vertex from ITS.
TH1D * fhVertexTTH[fkVtx][fkTTbins]
vertex distribution
AliEMCALRecoUtils * fFiducialCellCut
!
TH1F * fhRhoIncl
minimum bias eta inclusive
Int_t fClusterTT[fkTTbins]
array which stores the number of jets in given event
Int_t fJetChTTLowPt[fkTTbins]
Float_t fZNAtower[5]
ZPC 5 tower signals.
TH2F * fhClusterPhiInclMB
minimum bias eta inclusive
Base task in the EMCAL jet framework.
Double_t fzVertex
Y vertex from ITS.
Represent a jet reconstructed using the EMCal jet framework.
Definition: AliEmcalJet.h:51
TH2F * fhV0CvsSPD
V0A vs SPD in MB.
AliJetContainer * fJetContainerPartLevel
detector level jet container
Float_t fCentralityCL1
Centrality from V0C.
AliJetContainer * fJetContainerDetLevel
particle level container with particles
Bool_t IsTrackInAcceptance(AliVParticle *track, Bool_t isGen=0)
const char Option_t
Definition: External.C:48
TH1D * fhCentralityTTJ[fkCE][fkTTbins]
estimated centrality in events biased with hadron TT
AliTrackContainer * fTrkContainerDetLevel
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
TH2F * fhV0AvsV0CTTCinMB[fkTTbins]
V0A vs V0C biased with ch jet TT.
bool Bool_t
Definition: External.C:53
Bool_t fInitializedLocal
Vertex selection helper.
TH1D * fhSignalTTCinMB[fkCE][fkTTbins]
distributions of centrality estimators biased with ch jet TT
void SetHadronTT(Int_t tl, Int_t th)
TString fRhoTaskName
detector level EMCAL cluster container
TH1D * fhMultTTCinMB[fkTTbins]
multiplicity of charged jet TT in MB event
void SetMinTrackPt(Double_t mpt)
Int_t fHadronTTLowPt[fkTTbins]
void SetFillTTree(Bool_t b)
Bool_t IsEventInAcceptance(AliVEvent *event)
static AliAnalysisTaskEA * AddTaskEA(Int_t system=AliAnalysisTaskEA::kpPb, const char *jetarrayname="Jet_AKTChargedR040_tracks_pT0150_pt_scheme", const char *jetarraynameMC="Jet_AKTChargedR040_mcparticles_pT0150_pt_scheme", const char *trackarrayname="tracks", const char *mcpariclearrayname="mcparticles", const char *clusterarrayname="caloClusters", const char *rhoname="", const char *mcrhoname="", Double_t jetRadius=0.4, UInt_t trigger=AliVEvent::kAny, Int_t isMC=0, Double_t trackEtaWindow=0.9, Bool_t useVertexCut=kTRUE, Bool_t usePileUpCut=kTRUE, Double_t acut=0.6, Double_t emcaltofcut=30e-9, const char *suffix="")
Container structure for EMCAL clusters.
TH1D * fhCentralityTTCinMB[fkCE][fkTTbins]
estimated centrality in events biased with ch jet TT
Int_t fIsV0ATriggered
no. clusters on SPD layers
Float_t fZNCtowerLG[5]
ZPA 5 tower signals.
Container for jet within the EMCAL jet framework.
Double_t GetExternalRho(Bool_t isMC)
Float_t fRingMultV0[8]
mult. V0A+V0C normalized by means
TH1F * fhRhoTTH[fkTTbins]
minimum bias rho inclusive
void SetMCJetContainerName(const char *name)
Float_t fMultV0AV0Cnorm
mult. V0C normalized by mean V0C
AliMultSelection * fMultSelection
output tree
TH2F * fhV0AvsSPD
V0A vs V0C in MB.
void SetUseDefaultVertexCut(Bool_t val)
TH1D * fhNormSumV0AV0CTTH[fkTTbins]
distributions of centrality estimators biased with cluster TT in Gamma trigger
void SetMeanV0C(Double_t mvc)