1 #ifndef ALIANALYSISTASKSAJF_H
2 #define ALIANALYSISTASKSAJF_H
10 class AliRhoParameter;
12 #include "AliAnalysisTaskEmcalJet.h"
14 class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
17 AliAnalysisTaskSAJF();
18 AliAnalysisTaskSAJF(const char *name);
19 virtual ~AliAnalysisTaskSAJF();
21 void UserCreateOutputObjects();
22 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 SetEmbTracksName(const char *n) { fEmbTracksName = n ; }
29 void SetEmbClusName(const char *n) { fEmbCaloName = n ; }
30 void SetRhoName(const char *n) { fRhoName = n ; }
31 void SetMC(Bool_t m) { fMCAna = m ; }
35 Bool_t RetrieveEventObjects() ;
36 Bool_t FillHistograms() ;
37 void GetLeadingJets(Int_t &maxJetIndex, Int_t &max2JetIndex) ;
39 void DoEmbJetLoop(AliEmcalJet* &embJet, TObject* &embPart) ;
41 void DoClusterLoop() ;
42 void DoEmbTrackLoop() ;
43 void DoEmbClusterLoop() ;
44 void GetRigidCone(Float_t &pt, Float_t &ptrigid, Float_t &eta, Float_t &phi,
45 AliEmcalJet *jet = 0, TClonesArray* tracks = 0, TClonesArray* clusters = 0) const;
47 Bool_t fMCAna; // =true MC analysis (toy model)
48 Float_t fMinRC2LJ; // Minimum distance random cone to leading jet
49 TString fEmbJetsName; // Name of embedded jet collection
50 TString fEmbTracksName; // Name of embedded track collection
51 TString fEmbCaloName; // Name of embedded calo cluster collection
52 TString fRandTracksName; // Name of randomized track collection
53 TString fRandCaloName; // Name of randomized calo cluster collection
54 TString fRhoName; // Name of rho object
56 TClonesArray *fEmbJets; //!Embedded Jets
57 TClonesArray *fEmbTracks; //!Embedded tracks
58 TClonesArray *fEmbCaloClusters; //!Embedded clusters
59 TClonesArray *fRandTracks; //!Randomized tracks
60 TClonesArray *fRandCaloClusters; //!Randomized clusters
61 AliRhoParameter *fRho; //!Event rho
62 Double_t fRhoVal; //!Event rho value
63 Int_t fEmbeddedClusterId; //!Embedded cluster id
64 Int_t fEmbeddedTrackId; //!Embedded track id
67 TH1F *fHistCentrality; //!Event centrality distribution
68 TH1F *fHistEvents[4]; //!Events accepted/rejected
69 TH1F *fHistTracksPt[4]; //!Inclusive track pt spectrum
70 TH1F *fHistClustersPt[4]; //!Inclusive clusters pt spectrum
71 TH2F *fHistJetPhiEta[4]; //!Phi-Eta distribution of jets
72 TH1F *fHistJetsPt[4]; //!Inclusive jet pt spectrum
73 TH2F *fHistJetsPtArea[4]; //!Jet pt vs. area
74 TH1F *fHistLeadingJetPt[4]; //!Leading jet pt spectrum
75 TH1F *fHist2LeadingJetPt[4]; //!Second leading jet pt spectrum
76 TH2F *fHistJetsNEFvsPt[4]; //!Jet neutral energy fraction vs. jet pt
77 TH2F *fHistJetsZvsPt[4]; //!Constituent Pt over Jet Pt ratio vs. jet pt
78 TH2F *fHistMaxTrackPtvsJetPt[4]; //!Max constituent track pt vs. jet pt
79 TH2F *fHistMaxClusPtvsJetPt[4]; //!Max constituent cluster pt vs. jet pt
80 TH2F *fHistMaxPartPtvsJetPt[4]; //!Max constituent particle (track or cluster) pt vs. jet pt
81 TH2F *fHistMaxTrackPtvsJetCorrPt[4]; //!Max constituent track pt vs. jet pt
82 TH2F *fHistMaxClusPtvsJetCorrPt[4]; //!Max constituent cluster pt vs. jet pt
83 TH2F *fHistMaxPartPtvsJetCorrPt[4]; //!Max constituent particle (track or cluster) pt vs. jet pt
84 TH2F *fHistConstituents[4]; //!x axis = constituents pt; y axis = no. of constituents; z axis = jet pt
85 TH1F *fHistDeltaVectorPt; //!Delta Pt between vector and scalar sum
88 TH1F *fHistRho[4]; //!Rho distribution
89 TH2F *fHistRhoVSleadJetPt; //!Area(leadjetarea) * rho vs. leading jet pt
90 TH1F *fHistJetsCorrPt[4]; //!Corrected inclusive jet pt spectrum
91 TH2F *fHistJetsCorrPtArea[4]; //!Jet pt vs. area
92 TH1F *fHistLeadingJetCorrPt[4]; //!Corrected leading jet pt spectrum
95 TH2F *fHistRCPhiEta; //!Phi-Eta distribution of random cones
96 TH1F *fHistRCPtRigid[4]; //!Random cone pt, rigid
97 TH1F *fHistRCPt[4]; //!Random cone pt
98 TH1F *fHistRCPtExLJ[4]; //!Random cone pt, imposing min distance from leading jet
99 TH1F *fHistRCPtRand[4]; //!Random cone pt, randomized particles
100 TH2F *fHistRCPtExLJVSDPhiLJ; //!Random cone pt, imposing min distance from leading jet, vs. deltaPhi leading jet
101 TH2F *fHistRhoVSRCPt; //!Rho vs. Pt(RCExLJ) / Area(RCExLJ)
102 TH1F *fHistDeltaPtRCRigid[4]; //!deltaPt = Pt(RC) - A * rho, rigid
103 TH1F *fHistDeltaPtRC[4]; //!deltaPt = Pt(RC) - A * rho
104 TH1F *fHistDeltaPtRCExLJ[4]; //!deltaPt = Pt(RC) - A * rho, imposing min distance from leading jet
105 TH1F *fHistDeltaPtRCRand[4]; //!deltaPt = Pt(RC) - A * rho, randomzied particles
108 TH2F *fHistEmbNotFoundPhiEta[4]; //!Phi-Eta of "not found" embedded particles
109 TH1F *fHistEmbJetsPt[4]; //!Pt distribution of embedded jets
110 TH1F *fHistEmbJetsCorrPt[4]; //!Pt distribution of embedded jets
111 TH1F *fHistEmbJetsArea[4]; //!Area distribution of embedded jets
112 TH1F *fHistEmbPartPt[4]; //!Pt distribution of embedded particle
113 TH2F *fHistEmbJetPhiEta; //!Phi-Eta distribution of embedded jets
114 TH2F *fHistEmbPartPhiEta; //!Phi-Eta distribution of embedded particles
115 TH1F *fHistDistEmbPartJetAxis[4]; //!Distance between embedded particle and jet axis
116 TH2F *fHistRhoVSEmbBkg; //!Area(embjet) * rho vs. Pt(embjet) - Pt(embtrack)
117 TH1F *fHistDeltaPtEmb[4]; //!deltaPt = Pt(embjet) - Area(embjet) * rho - Pt(embtrack)
120 AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&); // not implemented
121 AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
123 ClassDef(AliAnalysisTaskSAJF, 9) // jet analysis task