1 #ifndef ALIANALYSISTASKSAJF_H
2 #define ALIANALYSISTASKSAJF_H
11 #include "AliAnalysisTaskEmcalJet.h"
13 class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
16 AliAnalysisTaskSAJF();
17 AliAnalysisTaskSAJF(const char *name);
18 virtual ~AliAnalysisTaskSAJF();
20 void UserCreateOutputObjects();
21 void Terminate(Option_t *option);
24 void SetJetMinRC2LJ(Float_t d) { fMinRC2LJ = d ; }
25 void SetEmbJetsName(const char *n) { fEmbJetsName = n ; }
26 void SetRandTracksName(const char *n) { fRandTracksName = n ; }
27 void SetRandClusName(const char *n) { fRandCaloName = n ; }
28 void SetRhoName(const char *n) { fRhoName = n ; }
29 void SetSkipEventsWithNoJets(Bool_t s) { fSkipEventsWithNoJets = s ; }
33 Bool_t RetrieveEventObjects() ;
34 Bool_t FillHistograms() ;
35 void GetLeadingJets(Int_t &maxJetIndex, Int_t &max2JetIndex) ;
37 void DoEmbJetLoop(AliEmcalJet* &embJet, TObject* &maxPart) ;
38 void DoTrackLoop(Int_t maxJetIndex) ;
39 void DoClusterLoop(Int_t maxJetIndex) ;
40 void GetRigidCone(Float_t &pt, Float_t &eta, Float_t &phi, Bool_t acceptMC = kFALSE,
41 AliEmcalJet *jet = 0, TClonesArray* tracks = 0, TClonesArray* clusters = 0) const;
43 Float_t fMinRC2LJ; // Minimum distance random cone to leading jet
44 TString fEmbJetsName; // Name of embedded jets collection
45 TString fRandTracksName; // Name of randomized track collection
46 TString fRandCaloName; // Name of randomized calo cluster collection
47 TString fRhoName; // Name of rho object
48 Bool_t fSkipEventsWithNoJets; // Whether or not skip events with no jets
50 TClonesArray *fEmbJets; //!Embedded Jets
51 TClonesArray *fRandTracks; //!Randomized tracks
52 TClonesArray *fRandCaloClusters; //!Randomized clusters
53 Float_t fRho; //!Event rho
56 TH1F *fHistCentrality; //!Event centrality distribution
57 TH1F *fHistRejectedEvents; //!Rejected events
58 TH2F *fHistJetPhiEta[4]; //!Phi-Eta distribution of jets
59 TH1F *fHistJetsPt[4]; //!Inclusive jet pt spectrum
60 TH2F *fHistJetsPtArea[4]; //!Jet pt vs. area
61 TH1F *fHistLeadingJetPt[4]; //!Leading jet pt spectrum
62 TH1F *fHist2LeadingJetPt[4]; //!Second leading jet pt spectrum
63 TH2F *fHistJetsNEFvsPt[4]; //!Jet neutral energy fraction vs. jet pt
64 TH2F *fHistJetsZvsPt[4]; //!Constituent Pt over Jet Pt ratio vs. jet pt
67 TH1F *fHistRho[4]; //!Rho distribution
68 TH2F *fHistRhoVSleadJetPt; //!Area(leadjetarea) * rho vs. leading jet pt
69 TH1F *fHistCorrJetsPt[4]; //!Corrected inclusive jet pt spectrum
70 TH1F *fHistCorrLeadingJetPt[4]; //!Corrected leading jet pt spectrum
73 TH2F *fHistRCPhiEta; //!Phi-Eta distribution of random cones
74 TH1F *fHistRCPt[4]; //!Random cone pt
75 TH1F *fHistRCPtExLJ[4]; //!Random cone pt, imposing min distance from leading jet
76 TH1F *fHistRCPtRand[4]; //!Random cone pt, randomized particles
77 TH2F *fHistRCPtExLJVSDPhiLJ; //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
78 TH2F *fHistRhoVSRCPt; //!Rho vs. Pt(RCExLJ) / Area(RCExLJ)
79 TH1F *fHistDeltaPtRC[4]; //!deltaPt = Pt(RC) - A * rho
80 TH1F *fHistDeltaPtRCExLJ[4]; //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
81 TH1F *fHistDeltaPtRCRand[4]; //!deltaPt = Pt(RC) - A * rho, randomzied particles
84 TH1F *fHistEmbJets[4]; //!Pt distribution of embedded jets
85 TH1F *fHistEmbPart[4]; //!Pt distribution of embedded particle
86 TH2F *fHistEmbJetPhiEta; //!Phi-Eta distribution of embedded jets
87 TH2F *fHistEmbPartPhiEta; //!Phi-Eta distribution of embedded particles
88 TH2F *fHistRhoVSEmbBkg; //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
89 TH1F *fHistDeltaPtEmb[4]; //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack)
92 AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&); // not implemented
93 AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
95 ClassDef(AliAnalysisTaskSAJF, 6) // jet analysis task