1 #ifndef ALIANALYSISTASKEMCALDIJETANA_H
2 #define ALIANALYSISTASKEMCALDIJETANA_H
11 class AliAnalysisManager;
12 class AliGenPythiaEventHeader;
14 #include "AliJetContainer.h"
16 #include "AliAnalysisTaskEmcalDiJetBase.h"
18 class AliAnalysisTaskEmcalDiJetAna : public AliAnalysisTaskEmcalDiJetBase {
20 AliAnalysisTaskEmcalDiJetAna();
21 AliAnalysisTaskEmcalDiJetAna(const char *name);
22 virtual ~AliAnalysisTaskEmcalDiJetAna();
24 void UserCreateOutputObjects();
25 void Terminate(Option_t *option);
28 void SetMatchFullCharged(Bool_t b) { fDoMatchFullCharged = b;}
29 void SetNKtBins(Int_t n) { fNKtBins = n; }
30 void SetNDiJetEtaBins(Int_t n) { fNDiJetEtaBins = n; }
31 void SetNAjBins(Int_t n) { fNAjBins = n; }
34 Int_t GetPtTriggerBin(Double_t pt);
38 void CorrelateJets(const Int_t type);
39 void CorrelateAllJets(const Int_t type);
40 void CorrelateTwoJets(const Int_t type);
41 void CorrelateLeadingSubleadingJets(const Int_t type);
42 AliEmcalJet *GetLeadingJet(const Int_t type);
43 AliEmcalJet *GetLeadingAssociatedJet(const Int_t type, AliEmcalJet *jetTrig);
44 AliEmcalJet *GetSecondLeadingAssociatedJet(const Int_t type, AliEmcalJet *jetTrig);
46 Bool_t FillHistograms() ;
47 void FillDiJetHistos(const AliEmcalJet *jet1 = 0, const AliEmcalJet *jet2 = 0, const Int_t mode = 0);
48 void FillThreeJetHistos(const AliEmcalJet *jet1 = 0, const AliEmcalJet *jet2 = 0, const AliEmcalJet *jet3 = 0, const Int_t mode = 0);
49 Bool_t RetrieveEventObjects();
51 void FillMatchFullChargedHistos(Int_t cFull,Int_t cCharged);
52 Int_t MatchFullAndChargedJets(Int_t cFull, Int_t cCharged);
55 Bool_t fDoMatchFullCharged; // do full-charged matching histos
56 Int_t fNKtBins; // nbins on kT axis
57 Int_t fNDiJetEtaBins; // nbins on dijet eta axis
58 Int_t fNAjBins; // nbins on Aj axis
59 TH2F *fh2CentRhoCh; //! cent vs rho charged
60 TH2F *fh2CentRhoScaled; //! cent vs rho scaled
61 TH3F *fh3PtEtaPhiJetFull; //! pt,eta,phi of full jets
62 TH3F *fh3PtEtaPhiJetCharged; //! pt,eta,phi of charged jets
64 THnSparse *fhnDiJetVarsFull; //! sparse with di-jet properties (full-full)
65 THnSparse *fhnDiJetVarsCh; //! sparse with di-jet properties (charged-charged)
66 THnSparse *fhnDiJetVarsFullCharged; //! sparse with di-jet properties (full-charged)
67 THnSparse *fhnMatchingFullCharged; //! sparse comparing full with matched charged jet
69 TH3F *fh3DiJetKtNEFPtAssoc[4]; //! dijet kt vs NEF vs pTassoc for 4 trigger intervals
71 TH3F *fCentCorrPtAssocCh[4]; //! default(V0A) vs ZNA centrality vs pT trigger assoc
72 TH3F *fCentCorrPtAssocFuCh[4]; //! default(V0A) vs ZNA centrality vs pT trigger assoc
74 TH3F *fAjPtAssocCentCh[4]; //! Aj vs pT trigger assoc vs centrality
75 TH3F *fAjPtAssocCentFuCh[4]; //! Aj vs pT trigger assoc vs centrality
77 TH3F *fh3PtTrigKt1Kt2Ch; //! ptTrig vs kT1 vs kT2 for 3-jet events
78 TH3F *fh3PtTrigKt1Kt2FuCh; //! ptTrig vs kT1 vs kT2 for 3-jet events
80 TH3F *fh3PtTrigDPhi1DPhi2Ch; //! ptTrig vs DPhi12 vs DPhi13 for 3-jet events
81 TH3F *fh3PtTrigDPhi1DPhi2FuCh; //! ptTrig vs DPhi12 vs DPhi13 for 3-jet events
83 TH3F *fh3PtAssoc1PtAssoc2DPhi23Ch[4]; //! ptAssoc1 vs ptAssoc2 vs DPhi23 for 3-jet events
84 TH3F *fh3PtAssoc1PtAssoc2DPhi23FuCh[4]; //! ptAssoc1 vs ptAssoc2 vs DPhi23 for 3-jet events
86 AliAnalysisTaskEmcalDiJetAna(const AliAnalysisTaskEmcalDiJetAna&); // not implemented
87 AliAnalysisTaskEmcalDiJetAna &operator=(const AliAnalysisTaskEmcalDiJetAna&); // not implemented
89 ClassDef(AliAnalysisTaskEmcalDiJetAna, 11) // dijet analysis task