9 #include <TClonesArray.h> 13 #include <THnSparse.h> 15 #include <TLorentzVector.h> 16 #include <TParameter.h> 17 #include <TParticle.h> 21 #include "AliAODEvent.h" 22 #include "AliAnalysisManager.h" 23 #include "AliAnalysisTask.h" 24 #include "AliCentrality.h" 25 #include "AliESDEvent.h" 26 #include "AliESDInputHandler.h" 28 #include "AliVCluster.h" 33 #include <AliInputEventHandler.h> 34 #include <AliVEventHandler.h> 41 fPhimin(-10), fPhimax(10),
42 fEtamin(-0.9), fEtamax(0.9),
49 SetMakeGeneralHistograms(kTRUE);
56 fPhimin(-10), fPhimax(10),
57 fEtamin(-0.9), fEtamax(0.9),
93 bitcode = 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<8 ;
114 AliWarning(Form(
"%s: Could not retrieve LocalRho object!", GetName()));
119 if (!
fJets)
return kTRUE;
127 for (
Int_t iJets = 0; iJets < Njets; ++iJets) {
150 jetarea = jet->
Area();
160 jetPtGlobal = jet->
Pt() - jetarea*
fRhoVal;
168 if( dEP>0 && dEP<=(TMath::Pi()/6) ){
170 }
else if( dEP>(TMath::Pi()/3) && dEP<=(TMath::Pi()/2) ){
192 if (cent>=0 && cent<10)
194 else if (cent>=10 && cent<20)
196 else if (cent>=20 && cent<30)
198 else if (cent>=30 && cent<40)
200 else if (cent>=40 && cent<50)
202 else if (cent>=50 && cent<90)
213 if( dphi<-1*TMath::Pi() ){
214 dphi = dphi + 1*TMath::Pi();
217 if( (dphi>0) && (dphi<1*TMath::Pi()/2) ){
219 }
else if( (dphi>1*TMath::Pi()/2) && (dphi<1*TMath::Pi()) ){
220 dphi = 1*TMath::Pi() - dphi;
221 }
else if( (dphi<0) && (dphi>-1*TMath::Pi()/2) ){
223 }
else if( (dphi<-1*TMath::Pi()/2) && (dphi>-1*TMath::Pi()) ){
224 dphi = dphi + 1*TMath::Pi();
228 if( dphi < 0 || dphi > TMath::Pi()/2 )
229 AliWarning(Form(
"%s: dPHI not constrained from [0, Pi/2]", GetName()));
246 const Int_t dim = count;
253 while(c<dim && i<32){
258 hnTitle += Form(
";%s",label.Data());
266 return new THnSparseF(name, hnTitle.Data(), dim,
nbins, xmin, xmax);
277 label =
"V0 centrality (%)";
284 label =
"Corrected jet p_{T}: Local #rho";
291 label =
"Corrected jet p_{T}: Global #rho";
298 label =
"Raw jet p_{T}";
312 label =
"Relative angle between jet and Reaction plane";
319 label =
"Local #rho value";
326 label =
"Global #rho value";
333 label =
"fEPV0 event plane";
335 xmin = -TMath::Pi()/2.0;
336 xmax = TMath::Pi()/2.0;
349 if (jet->
Area()==0)
return 0;
virtual void Terminate(Option_t *)
AliAnalysisTaskEmcalJetPatchTriggerQA()
Double_t GetLocalVal(Double_t phi, Double_t r, Double_t n) const
Double_t fEPV0
!event plane V0
virtual void GetDimParams(Int_t iEntry, TString &label, Int_t &nbins, Double_t &xmin, Double_t &xmax)
THnSparse * fhnJetTriggerQA
number of jets versus Centrality
virtual Int_t AcceptMyJet(AliEmcalJet *jet)
AliLocalRhoParameter * GetLocalRhoFromEvent(const char *name)
TString fLocalRhoName
name for local rho
virtual THnSparse * NewTHnSparseF(const char *name, UInt_t entries)
void ExecOnce()
Perform steps needed to initialize the analysis.
Double_t RelativeEPJET(Double_t jetAng, Double_t EPAng) const
AliRhoParameter * fRho
! event rho
Double_t MaxTrackPt() const
Double_t fCent
!event centrality
AliLocalRhoParameter * fLocalRho
! local event rho
TClonesArray * fJets
! jets
virtual Int_t GetCentBin(Double_t cent) const
virtual void UserCreateOutputObjects()
AliEmcalList * fOutput
!output list
virtual ~AliAnalysisTaskEmcalJetPatchTriggerQA()
Bool_t fCreateHisto
whether or not create histograms
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
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.
Double_t fRhoVal
! event rho value, same for local rho