AliPhysics  a3be53f (a3be53f)
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 
117  Int_t GetMaxDistanceFromBorder(AliVCluster* cluster);
118  Bool_t FinalClusterCuts(AliVCluster* cluster);
119 
121  Bool_t Run();
123 
124 
125  private:
126 
127 
128  // ######### CHECK FUNCTIONS
129  Bool_t IsTrackInAcceptance(AliVParticle* track, Bool_t isGen=0);
130  Bool_t IsEventInAcceptance(AliVEvent* event);
131 
132 
133  // ######### STANDARD FUNCTIONS
134  void ExecOnceLocal();
135 
137 
138  // ########## USAGE TRIGGERS
139  Bool_t fUseDefaultVertexCut; // trigger if automatic vertex cut from helper class should be done
140  Bool_t fUsePileUpCut; // trigger if pileup cut should be done
141 
142 
143  // ########## SOURCE INFORMATION
144  TString fMyTrackContainerName; // name of detector level track container
145  TString fMyParticleContainerName; // name of particle level MC particle container
146  TString fMyJetContainerName; // name of detector level jet container
147  TString fMyJetParticleContainerName; // name of particle level MC jet container
148  TString fMyClusterContainerName; // name of detector level jet container
149 
155 
156  TString fRhoTaskName; // name of rho CMS bg task for this analysis
157  TString fRhoTaskNameMC; // MC name of rho CMS bg task for this analysis
158 
159 
160  // ########## CENTRALITY
162  AliMultSelection* fMultSelection;
163 
164  char fTrigClass[1000];
167 
173 
178  //
181  //
187  //
190 
199 
200 
201  // ########## CUTS
202  Double_t fTrackEtaWindow; // +- window in eta for tracks
203  Double_t fMinTrackPt; // Min track pt to be accepted
204 
205  // ########## GENERAL ////VARS
206  Bool_t fMC; // real data or MC flag
207  AliAnalysisUtils* fHelperClass;
209 
210 
212 
213  TH1F *fhVertexZ;
214 
223 
224  TH1F *fhRhoIncl;
229 
232 
238 
251 
256 
257 
258  Double_t fZVertexCut; // vertex cut in z
259 
260  Int_t fnHadronTTBins; // number of TT bins charged hadron
261  Int_t fnJetChTTBins; // number of TT bins charged jet
262  Int_t fnClusterTTBins; // number of TT bins gamma cluster
263  Int_t fHadronTTLowPt[fkTTbins]; // low pt TT range charged hadron
264  Int_t fHadronTTHighPt[fkTTbins]; // high pt TT range charged hadron
265  Int_t fJetChTTLowPt[fkTTbins]; // low pt TT range charged jet
266  Int_t fJetChTTHighPt[fkTTbins]; // high pt TT range charged jet
267  Int_t fClusterTTLowPt[fkTTbins]; // low pt TT range charged jet
268  Int_t fClusterTTHighPt[fkTTbins]; // high pt TT range charged jet
269 
270 
274 
275  Bool_t fFillTTree; // Fill output TTree
276  Int_t fSystem; // Collision system
278 
281 
282  ClassDef(AliAnalysisTaskEA, 5); // Charged jet analysis for pAliAnalysisTaskHJetSpectra/home/fkrizek/z501.ALIC
283 
284 };
285 #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
Int_t fJetChTTHighPt[fkTTbins]
double Double_t
Definition: External.C:58
Definition: External.C:236
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)
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 centrality estimators biased with cluster TT in Gamma trigger
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.
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
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.
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 centrality estimators: mult V0, mult VC, tracklets, znatower0, znctower0 ...
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. V0C
TH1F * fhRhoTTH[fkTTbins]
minimum bias rho inclusive
void SetMCJetContainerName(const char *name)
AliMultSelection * fMultSelection
output tree
TH2F * fhV0AvsSPD
V0A vs V0C in MB.
void SetUseDefaultVertexCut(Bool_t val)