]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalDiJetAna.h
From Marta
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalDiJetAna.h
CommitLineData
6e8b6371 1#ifndef ALIANALYSISTASKEMCALDIJETANA_H
2#define ALIANALYSISTASKEMCALDIJETANA_H
3
4class TH1;
5class TH2;
6class TH3;
7class TH3F;
8class THnSparse;
9class TClonesArray;
10class TArrayI;
6e8b6371 11class AliAnalysisManager;
12class AliGenPythiaEventHeader;
13
14#include "AliJetContainer.h"
15
16#include "AliAnalysisTaskEmcalDiJetBase.h"
17
18class AliAnalysisTaskEmcalDiJetAna : public AliAnalysisTaskEmcalDiJetBase {
19 public:
20 AliAnalysisTaskEmcalDiJetAna();
21 AliAnalysisTaskEmcalDiJetAna(const char *name);
22 virtual ~AliAnalysisTaskEmcalDiJetAna();
23
24 void UserCreateOutputObjects();
25 void Terminate(Option_t *option);
26
27 //Setters
bb84b374 28 void SetMatchFullCharged(Bool_t b) { fDoMatchFullCharged = b;}
6e8b6371 29
30
31 //Getters
bb84b374 32 Int_t GetPtTriggerBin(Double_t pt);
6e8b6371 33
34 protected:
35 Bool_t Run() ;
36 void CorrelateJets(const Int_t type);
c66364a6 37 void CorrelateAllJets(const Int_t type);
4bd08270 38 void CorrelateTwoJets(const Int_t type);
c66364a6 39 void CorrelateLeadingSubleadingJets(const Int_t type);
40 AliEmcalJet *GetLeadingJet(const Int_t type);
41 AliEmcalJet *GetLeadingAssociatedJet(const Int_t type, AliEmcalJet *jetTrig);
8e49a788 42 AliEmcalJet *GetSecondLeadingAssociatedJet(const Int_t type, AliEmcalJet *jetTrig);
4bd08270 43
6e8b6371 44 Bool_t FillHistograms() ;
45 void FillDiJetHistos(const AliEmcalJet *jet1 = 0, const AliEmcalJet *jet2 = 0, const Int_t mode = 0);
8e49a788 46 void FillThreeJetHistos(const AliEmcalJet *jet1 = 0, const AliEmcalJet *jet2 = 0, const AliEmcalJet *jet3 = 0, const Int_t mode = 0);
6e8b6371 47 Bool_t RetrieveEventObjects();
48
49 void FillMatchFullChargedHistos(Int_t cFull,Int_t cCharged);
50 Int_t MatchFullAndChargedJets(Int_t cFull, Int_t cCharged);
51
52 private:
53 Bool_t fDoMatchFullCharged; // do full-charged matching histos
54 TH2F *fh2CentRhoCh; //! cent vs rho charged
55 TH2F *fh2CentRhoScaled; //! cent vs rho scaled
56 TH3F *fh3PtEtaPhiJetFull; //! pt,eta,phi of full jets
57 TH3F *fh3PtEtaPhiJetCharged; //! pt,eta,phi of charged jets
58
59 THnSparse *fhnDiJetVarsFull; //! sparse with di-jet properties (full-full)
60 THnSparse *fhnDiJetVarsCh; //! sparse with di-jet properties (charged-charged)
61 THnSparse *fhnDiJetVarsFullCharged; //! sparse with di-jet properties (full-charged)
62 THnSparse *fhnMatchingFullCharged; //! sparse comparing full with matched charged jet
63 TH3F *fh3JetPtFullFractionDR; //! full jet pt vs highest shared charged fraction vs DeltaR
64
bb84b374 65 TH3F *fh3DiJetKtNEFPtAssoc[4]; //! dijet kt vs NEF vs pTassoc for 4 trigger intervals
66
eca9052c 67 TH3F *fCentCorrPtAssocCh[4]; //! default(V0A) vs ZNA centrality vs pT trigger assoc
68 TH3F *fCentCorrPtAssocFuCh[4]; //! default(V0A) vs ZNA centrality vs pT trigger assoc
69
0327741d 70 TH3F *fAjPtAssocCentCh[4]; //! Aj vs pT trigger assoc vs centrality
71 TH3F *fAjPtAssocCentFuCh[4]; //! Aj vs pT trigger assoc vs centrality
72
8e49a788 73 TH3F *fh3PtTrigKt1Kt2Ch; //! ptTrig vs kT1 vs kT2 for 3-jet events
74 TH3F *fh3PtTrigKt1Kt2FuCh; //! ptTrig vs kT1 vs kT2 for 3-jet events
75
76 TH3F *fh3PtTrigDPhi1DPhi2Ch; //! ptTrig vs DPhi12 vs DPhi13 for 3-jet events
77 TH3F *fh3PtTrigDPhi1DPhi2FuCh; //! ptTrig vs DPhi12 vs DPhi13 for 3-jet events
78
79 TH3F *fh3PtAssoc1PtAssoc2DPhi23Ch[4]; //! ptAssoc1 vs ptAssoc2 vs DPhi23 for 3-jet events
80 TH3F *fh3PtAssoc1PtAssoc2DPhi23FuCh[4]; //! ptAssoc1 vs ptAssoc2 vs DPhi23 for 3-jet events
6e8b6371 81
82 AliAnalysisTaskEmcalDiJetAna(const AliAnalysisTaskEmcalDiJetAna&); // not implemented
83 AliAnalysisTaskEmcalDiJetAna &operator=(const AliAnalysisTaskEmcalDiJetAna&); // not implemented
84
8e49a788 85 ClassDef(AliAnalysisTaskEmcalDiJetAna, 8) // dijet analysis task
6e8b6371 86};
87#endif