1 #ifndef ALIANALYSISTASKSE_H 10 #include <TProfile2D.h> 19 #include <THnSparse.h> 22 #include <TClonesArray.h> 26 #include <TInterpreter.h> 27 #include "AliAnalysisTask.h" 28 #include "AliCentrality.h" 30 #include "AliESDEvent.h" 31 #include "AliESDInputHandler.h" 32 #include "AliAODEvent.h" 33 #include "AliAODHandler.h" 34 #include "AliAnalysisManager.h" 35 #include "AliAnalysisTaskSE.h" 38 #include "AliInputEventHandler.h" 39 #include "AliEMCALGeometry.h" 40 #include "AliEMCALGeoParams.h" 45 #include "AliGenEventHeader.h" 46 #include "AliGenPythiaEventHeader.h" 47 #include "AliGenHijingEventHeader.h" 48 #include "AliAODMCHeader.h" 49 #include "AliMCEvent.h" 53 #include "AliVEventHandler.h" 54 #include "AliVParticle.h" 55 #include "AliAODMCParticle.h" 56 #include "AliAnalysisUtils.h" 59 #include "AliVVertex.h" 60 #include "AliExternalTrackParam.h" 66 #include "AliGenDPMjetEventHeader.h" 71 #include "AliHeader.h" 72 #include "AliRunLoader.h" 73 #include "AliVVZERO.h" 74 #include "AliAODZDC.h" 76 #include "AliMultSelection.h" 88 fUseDefaultVertexCut(1),
90 fMyTrackContainerName(""),
91 fMyParticleContainerName(""),
92 fMyJetContainerName(""),
93 fMyJetParticleContainerName(""),
94 fMyClusterContainerName(""),
95 fTrkContainerDetLevel(0x0),
96 fParticleContainerPartLevel(0x0),
97 fJetContainerDetLevel(0x0),
98 fJetContainerPartLevel(0x0),
99 fClusterContainerDetLevel(0x0),
102 fCentralityTree(0x0),
125 fTrackEtaWindow(0.9),
128 fHelperClass(0), fInitializedLocal(0),
129 fHistEvtSelection(0x0),
131 fhTrackPhiIncl(0x0), fhTrackEtaIncl(0x0),
132 fhJetPhiIncl(0x0), fhJetEtaIncl(0x0),
133 fhClusterPhiInclMB(0x0), fhClusterEtaInclMB(0x0),
134 fhClusterPhiInclGA(0x0), fhClusterEtaInclGA(0x0),
136 fhNormSumV0AV0CMB(0x0),
145 fSystem(AliAnalysisTaskEA::
kpPb),
146 fFiducialCellCut(0x0),
152 for(
Int_t i=0; i<2; i++) fNClusters[i] = 0;
153 for(
Int_t i=0; i<8; i++) fRingMultV0[i] = 0;
155 for(
Int_t i=0; i<5; i++){
166 for(
Int_t i=0; i<fkTTbins; i++){
171 fhMultTTHinMB[i] = 0x0;
172 fhMultTTJinMB[i] = 0x0;
173 fhMultTTCinMB[i] = 0x0;
174 fhMultTTCinGA[i] = 0x0;
177 for(
Int_t i=0; i<fkTTbins;i++){
178 fHadronTTLowPt[i]=-1;
179 fHadronTTHighPt[i]=-1;
181 fJetChTTHighPt[i]=-1;
182 fClusterTTLowPt[i]=-1;
183 fClusterTTHighPt[i]=-1;
185 fhV0AvsV0CTTH[i] = 0x0;
186 fhV0AvsV0CTTJ[i] = 0x0;
187 fhV0AvsV0CTTCinMB[i] = 0x0;
188 fhV0AvsV0CTTCinGA[i] = 0x0;
191 for(
Int_t iv=0; iv<fkVtx;iv++){
193 for(
Int_t i=0; i<fkTTbins;i++){
194 fhVertexTTH[iv][i]=0x0;
198 for(
Int_t ic=0; ic<fkCE;ic++){
199 fhCentralityMB[ic] = 0x0;
200 fhSignalMB[ic] = 0x0;
202 for(
Int_t i=0; i<fkTTbins;i++){
203 fhCentralityTTH[ic][i] = 0x0;
204 fhCentralityTTJ[ic][i] = 0x0;
205 fhCentralityTTCinMB[ic][i] = 0x0;
206 fhCentralityTTCinGA[ic][i] = 0x0;
208 fhSignalTTH[ic][i] = 0x0;
209 fhSignalTTJ[ic][i] = 0x0;
210 fhSignalTTCinMB[ic][i] = 0x0;
211 fhSignalTTCinGA[ic][i] = 0x0;
215 for(
Int_t i=0; i<fkTTbins; i++){
216 fhNormSumV0AV0CTTH[i] = 0x0;
217 fhNormSumV0AV0CTTJ[i] = 0x0;
218 fhNormSumV0AV0CTTCinMB[i] = 0x0;
219 fhNormSumV0AV0CTTCinGA[i] = 0x0;
224 sprintf(fTrigClass,
"%s",
"");
230 fUseDefaultVertexCut(1),
232 fMyTrackContainerName(
""),
233 fMyParticleContainerName(
""),
234 fMyJetContainerName(
""),
235 fMyJetParticleContainerName(
""),
236 fMyClusterContainerName(
""),
237 fTrkContainerDetLevel(0x0),
238 fParticleContainerPartLevel(0x0),
239 fJetContainerDetLevel(0x0),
240 fJetContainerPartLevel(0x0),
241 fClusterContainerDetLevel(0x0),
244 fCentralityTree(0x0),
267 fTrackEtaWindow(0.9),
270 fHelperClass(0), fInitializedLocal(0),
271 fHistEvtSelection(0x0),
273 fhTrackPhiIncl(0x0), fhTrackEtaIncl(0x0),
274 fhJetPhiIncl(0x0), fhJetEtaIncl(0x0),
275 fhClusterPhiInclMB(0x0), fhClusterEtaInclMB(0x0),
276 fhClusterPhiInclGA(0x0), fhClusterEtaInclGA(0x0),
278 fhNormSumV0AV0CMB(0x0),
288 fFiducialCellCut(0x0),
297 for(
Int_t i=0; i<5; i++){
372 DefineOutput(1, TList::Class());
384 const char* jetarrayname,
385 const char* jetarraynameMC,
386 const char* trackarrayname,
387 const char* mcpariclearrayname,
388 const char* clusterarrayname,
390 const char* mcrhoname,
404 Double_t jetEtaRange = TMath::Abs(trackEtaWindow - jetRadius);
410 ::Error(
"AliAnalysisTaskEA.cxx",
"No analysis manager to connect to.");
418 myContName = Form(
"JetAnalysisR%02d", TMath::Nint(jetRadius*10));
419 myContName.Append(suffix);
437 trackCont->SetMinPt(0.15);
438 trackCont->SetEtaLimits(-trackEtaWindow, trackEtaWindow);
442 trackContTrue->SetClassName(
"AliAODMCParticle");
443 trackContTrue->SetMinPt(0.15);
444 trackContTrue->SetEtaLimits(-trackEtaWindow,trackEtaWindow);
448 clusterCont->SetMinPt(0.3);
464 jetContRec->SetMinPt(0.150);
476 jetContTrue->SetMinPt(0.15);
488 task->SelectCollisionCandidates(trigger);
505 task->SetDebugLevel(0);
508 AliAnalysisDataContainer *contHistos = manager->CreateContainer(myContName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, Form(
"%s:ChJetSpectra%s", AliAnalysisManager::GetCommonFileName(), myContName.Data()));
512 manager->AddTask(task);
513 manager->ConnectInput(task, 0, manager->GetCommonInputContainer());
514 manager->ConnectOutput(task, 1, contHistos);
521 TString trigger = fInputEvent->GetFiredTriggerClasses();
522 bool passedGammaTrigger = kFALSE;
524 if(trigger.Contains(
"EG1") || trigger.Contains(
"EG2") || trigger.Contains(
"DG1") || trigger.Contains(
"DG2")){
525 passedGammaTrigger = kTRUE;
527 return passedGammaTrigger;
533 TString trigger = fInputEvent->GetFiredTriggerClasses();
534 bool passedTrigger = kFALSE;
535 if(trigger.Contains(
"INT7")){
536 passedTrigger = kTRUE;
538 return passedTrigger;
548 if(!rhoname.IsNull()){
549 rho =
dynamic_cast<AliRhoParameter*
>(InputEvent()->FindListObject(rhoname.Data()));
559 return rho->GetVal();
567 if(!event)
return kFALSE;
586 if(TMath::Abs(event->GetPrimaryVertex()->GetZ()) >
fZVertexCut){
593 fhVertexZ->Fill(event->GetPrimaryVertex()->GetZ());
602 if(!track)
return kFALSE;
606 if(!track->Charge())
return kFALSE;
608 if(!(static_cast<AliAODMCParticle*>(track))->IsPhysicalPrimary())
return kFALSE;
637 for(
Int_t n=0; n<6; n++){
654 if( cluster->GetNCells() < 1)
return kFALSE;
656 Int_t disToBad = cluster->GetDistanceToBadChannel();
657 if(-1<disToBad && disToBad<2)
return kFALSE;
660 if(-1<disToBorder && disToBorder<1)
return kFALSE;
662 Double_t lambda0 = cluster->GetM02();
663 if(lambda0 > 0.4)
return kFALSE;
675 AliError(
"??? Event pointer == 0 ???");
714 TString triggerClass = InputEvent()->GetFiredTriggerClasses();
719 fMultSelection = (AliMultSelection*) InputEvent()->FindListObject(
"MultSelection");
735 const AliVVertex *vertex = InputEvent()->GetPrimaryVertexSPD();
740 if(vertex->IsFromVertexer3D())
fVertexer3d = kTRUE;
749 const AliVMultiplicity *mult = InputEvent()->GetMultiplicity();
753 for(
Int_t ilay=0; ilay<2; ilay++){
754 fNClusters[ilay] = mult->GetNumberOfITSClusters(ilay);
758 for(
Int_t ilay=0; ilay<2; ilay++){
765 AliVVZERO *vzeroAOD = InputEvent()->GetVZEROData();
776 for(
Int_t iRing = 0; iRing < 8; ++iRing){
777 for(
Int_t i = 0; i < 8; ++i){
778 fRingMultV0[iRing] += vzeroAOD->GetMultiplicity(8*iRing+i);
787 for(
Int_t iRing = 0; iRing < 8; ++iRing){
788 for(
Int_t i = 0; i < 8; ++i){
795 AliAODZDC *aodZDC =
dynamic_cast<AliAODZDC*
> (InputEvent()->GetZDCData());
801 const Double_t* towZNC = aodZDC->GetZNCTowerEnergy();
802 const Double_t* towZPC = aodZDC->GetZPCTowerEnergy();
803 const Double_t* towZNA = aodZDC->GetZNATowerEnergy();
804 const Double_t* towZPA = aodZDC->GetZPATowerEnergy();
806 const Double_t* towZNCLG = aodZDC->GetZNCTowerEnergyLR();
807 const Double_t* towZPCLG = aodZDC->GetZPCTowerEnergyLR();
808 const Double_t* towZNALG = aodZDC->GetZNATowerEnergyLR();
809 const Double_t* towZPALG = aodZDC->GetZPATowerEnergyLR();
811 for(
Int_t it=0; it<5; it++){
824 for(
Int_t it=0; it<5; it++){
846 AliVParticle *track = NULL;
999 track = trackIterator.second;
1061 jet = jetIterator.second;
1064 jetPtcorr = jet->
Pt() - rho*jet->
Area();
1180 printf(
"ERROR: Output list not available\n");
1189 if(
fOutput && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
1203 Bool_t oldStatus = TH1::AddDirectoryStatus();
1204 TH1::AddDirectory(kFALSE);
1224 fhVertexZ =
new TH1F(
"fhVertexZ",
"z vertex",40,-20,20);
1229 fhTrackEtaIncl =
new TH2F(
"fhTrackEtaIncl",
"Eta dist inclusive track vs pT", 50,0, 100, 40,-0.9,0.9);
1232 fhTrackPhiIncl =
new TH2F(
"fhTrackPhiIncl",
"Azim dist tracks vs pT", 50, 0, 100, 50,0,2*TMath::Pi());
1235 fhJetEtaIncl =
new TH2F(
"fhJetEtaIncl",
"Eta dist inclusive jets vs pTjet", 150, -20, 130, 40,-0.9,0.9);
1238 fhJetPhiIncl =
new TH2F(
"fhJetPhiIncl",
"Azim dist jets vs pTjet", 60, -20, 100, 50,0,2*TMath::Pi());
1241 fhClusterEtaInclMB =
new TH2F(
"fhClusterEtaInclMB",
"Eta dist inclusive clusters vs pT", 100, 0, 100, 40,-0.9,0.9);
1244 fhClusterPhiInclMB =
new TH2F(
"fhClusterPhiInclMB",
"Azim dist clusters vs pT", 50, 0, 100, 50,0,2*TMath::Pi());
1247 fhClusterEtaInclGA =
new TH2F(
"fhClusterEtaInclGA",
"Eta dist inclusive clusters vs pT", 100, 0, 100, 40,-0.9,0.9);
1250 fhClusterPhiInclGA =
new TH2F(
"fhClusterPhiInclGA",
"Azim dist clusters vs pT", 50, 0, 100, 50,0,2*TMath::Pi());
1255 fhRhoIncl =
new TH1F(
"hRho",
"Rho",1000,0,100);
1261 fOutput->Add((TH1F*) fhRhoTTH[itt]);
1266 fOutput->Add((TH1F*) fhRhoTTJ[ijj]);
1271 fOutput->Add((TH1F*) fhRhoTTCinMB[igg]);
1276 fOutput->Add((TH1F*) fhRhoTTCinGA[igg]);
1283 if(iv==0)
fhVertex[iv] =
new TH1D(
"hVertexX",
"VertexX",100,-1,1);
1284 else if(iv==1)
fhVertex[iv] =
new TH1D(
"hVertexY",
"VertexY",100,-1,1);
1285 else fhVertex[iv] =
new TH1D(
"hVertexZ",
"VertexZ",400,-20,20);
1298 TString cest[
fkCE] = {
"V0A",
"V0C",
"SPD",
"ZNA",
"ZNC"};
1302 name = Form(
"hCentrality_MB_%s",cest[ic].
Data());
1340 TString signal[]={
"multV0A",
"multV0C",
"nTracklets",
"znatower0",
"znctower0"};
1341 Float_t signalL[]={0,0,0,0,0};
1342 Float_t signalH[]={1000,1000,500,30000,30000};
1343 Int_t signalN[]={1000,1000,500,100,100};
1346 name = Form(
"hSignal_MB_%s", cest[ic].
Data());
1347 fhSignalMB[ic] =
new TH1D(name.Data(), name.Data(), signalN[ic], signalL[ic], signalH[ic]);
1355 fhSignalTTH[ic][itt] =
new TH1D(name.Data(),name.Data(),signalN[ic], signalL[ic], signalH[ic]);
1363 fhSignalTTJ[ic][ijj] =
new TH1D(name.Data(),name.Data(),signalN[ic], signalL[ic], signalH[ic]);
1371 fhSignalTTCinMB[ic][ijj] =
new TH1D(name.Data(),name.Data(),signalN[ic], signalL[ic], signalH[ic]);
1379 fhSignalTTCinGA[ic][ijj] =
new TH1D(name.Data(),name.Data(),signalN[ic], signalL[ic], signalH[ic]);
1385 name = Form(
"fhNormSumV0AV0C_MB");
1415 name = Form(
"fhV0AvsV0C_MB");
1416 fhV0AvsV0C =
new TH2F(name.Data(),name.Data(),100,0,1000, 100,0,1000);
1419 name = Form(
"fhV0AvsSPD_MB");
1420 fhV0AvsSPD =
new TH2F(name.Data(),name.Data(),100,0,500, 100,0,500);
1423 name = Form(
"fhV0CvsSPD_MB");
1424 fhV0CvsSPD =
new TH2F(name.Data(),name.Data(),100,0,500, 100,0,500);
1522 object.Append(
"/I");
1530 object.Append(
"/I");
1547 THnSparse *hn =
dynamic_cast<THnSparse*
>(
fOutput->At(i));
1552 TH1::AddDirectory(oldStatus);
1577 cout<<
"load calo cells"<<endl;
AliAnalysisUtils * fHelperClass
AliClusterContainer * fClusterContainerDetLevel
particle level jet container
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]
Bool_t CheckCellFiducialRegion(const AliEMCALGeometry *geom, const AliVCluster *cluster, AliVCaloCells *cells)
TString fMyClusterContainerName
AliJetContainer * GetJetContainer(Int_t i=0) const
TH1D * fhNormSumV0AV0CMB
distributions of centrality estimators: mult V0, mult VC, tracklets, znatower0, znctower0 ...
void SetNumberOfCellsFromEMCALBorder(Int_t n)
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 SetUseNewCentralityEstimation(Bool_t b)
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
Full acceptance, i.e. no acceptance cut applied – left to user.
TH2F * fhV0AvsV0CTTH[fkTTbins]
V0C vs SPD in MB.
AliJetContainer * AddJetContainer(const char *n, TString defaultCutType, Float_t jetRadius=0.4)
Bool_t RetrieveEventObjects()
void SetPercAreaCut(Float_t p)
TH1D * fhMultTTCinGA[fkTTbins]
multiplicity of cluster TT in MB event
Float_t fMultV0A
V0C decision.
TH2F * fhJetEtaIncl
minimum bias phi inclusive ch jet
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
AliClusterContainer * AddClusterContainer(const char *n)
Create new cluster container and attach it to the task.
Some utilities for cluster and cell treatment.
Int_t fHadronTTHighPt[fkTTbins]
Container for particles within the EMCAL framework.
void SetIsPythia(Bool_t i)
Float_t fZPAtower[5]
ZNA 5 tower signals.
Float_t fMultV0C
mult. V0A
AliParticleContainer * GetParticleContainer(Int_t i=0) const
Get particle container attached to this task.
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
const AliJetIterableMomentumContainer accepted_momentum() const
Int_t GetMaxDistanceFromBorder(AliVCluster *cluster)
TH1D * fhMultTTJinMB[fkTTbins]
multiplicity of hadron TT in MB event
Bool_t fFillTTree
array which stores the number of jets in given event
TString fMyTrackContainerName
Int_t fNTracklets
Is vertex from 3d vertexer?
AliEMCALGeometry * fGeom
!emcal geometry
TH1D * fhVertex[fkVtx]
in events GA with cluster TT
Bool_t PassedMinBiasTrigger()
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.
Float_t fZPAtowerLG[5]
ZNA 5 tower signals.
AliClusterContainer * GetClusterContainer(Int_t i=0) const
Get cluster container attached to this task.
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.
Bool_t fUseDefaultVertexCut
TH1F * fhRhoTTJ[fkTTbins]
in events MB with hadron TT
const AliClusterIterableContainer accepted() const
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
TString fCaloCellsName
name of calo cell collection
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.
AliMCParticleContainer * AddMCParticleContainer(const char *n)
Create new container for MC particles and attach it to the task.
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
Bool_t Data(TH1F *h, Double_t *rangefit, Bool_t writefit, Double_t &sgn, Double_t &errsgn, Double_t &bkg, Double_t &errbkg, Double_t &sgnf, Double_t &errsgnf, Double_t &sigmafit, Int_t &status)
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
TString fMyJetContainerName
AliVCaloCells * fCaloCells
!cells
void ConnectParticleContainer(AliParticleContainer *c)
Enhanced TList-derived class that implements correct merging for pt_hard binned production.
AliEmcalList * fOutput
!output list
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
AliTrackContainer * AddTrackContainer(const char *n)
Create new track container and attach it to the task.
Int_t fClusterTT[fkTTbins]
array which stores the number of jets in given event
AliTrackContainer * GetTrackContainer(Int_t i=0) const
Int_t fJetChTTLowPt[fkTTbins]
virtual ~AliAnalysisTaskEA()
void SetMakeGeneralHistograms(Bool_t g)
void UserCreateOutputObjects()
Float_t fZNAtower[5]
ZPC 5 tower signals.
TH2F * fhClusterPhiInclMB
minimum bias eta inclusive
Bool_t GetMomentum(TLorentzVector &mom, const AliVCluster *vc, Double_t mass) const
Base task in the EMCAL jet framework.
Double_t fzVertex
Y vertex from ITS.
Represent a jet reconstructed using the EMCal jet framework.
TH2F * fhV0CvsSPD
V0A vs SPD in MB.
AliJetContainer * fJetContainerPartLevel
detector level jet container
const AliTrackIterableMomentumContainer accepted_momentum() const
Float_t fCentralityCL1
Centrality from V0C.
AliJetContainer * fJetContainerDetLevel
particle level container with particles
Bool_t IsTrackInAcceptance(AliVParticle *track, Bool_t isGen=0)
TH1D * fhCentralityTTJ[fkCE][fkTTbins]
estimated centrality in events biased with hadron TT
AliTrackContainer * fTrkContainerDetLevel
void UserCreateOutputObjects()
Main initialization function on the worker.
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.
void SetJetAcceptanceType(UInt_t type)
TH2F * fhV0AvsV0CTTCinMB[fkTTbins]
V0A vs V0C biased with ch jet TT.
Bool_t fInitializedLocal
Vertex selection helper.
TH1D * fhSignalTTCinMB[fkCE][fkTTbins]
distributions of centrality estimators biased with ch jet TT
void SetMaxTrackPt(Float_t b)
TString fRhoTaskName
detector level EMCAL cluster container
void SetClusTimeCut(Double_t min, Double_t max)
TH1D * fhMultTTCinMB[fkTTbins]
multiplicity of charged jet TT in MB event
void SetJetEtaLimits(Float_t min, Float_t max)
Int_t fHadronTTLowPt[fkTTbins]
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.
void SetExoticCut(Bool_t e)
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