]>
Commit | Line | Data |
---|---|---|
2949a2ec | 1 | #ifndef ALIJETRESPONSEMAKER_H |
2 | #define ALIJETRESPONSEMAKER_H | |
3 | ||
7549c451 | 4 | // $Id$ |
2949a2ec | 5 | |
6 | class TClonesArray; | |
b16bb001 | 7 | class TH2; |
43032ce2 | 8 | class THnSparse; |
5be3857d | 9 | class AliNamedArrayI; |
2949a2ec | 10 | |
cfc2ac24 | 11 | #include "AliEmcalJet.h" |
9239b066 | 12 | #include "AliAnalysisTaskEmcalJet.h" |
2949a2ec | 13 | |
9239b066 | 14 | class AliJetResponseMaker : public AliAnalysisTaskEmcalJet { |
2949a2ec | 15 | public: |
16 | AliJetResponseMaker(); | |
17 | AliJetResponseMaker(const char *name); | |
18 | virtual ~AliJetResponseMaker(); | |
19 | ||
cd6431de | 20 | enum MatchingType{ |
21 | kNoMatching = 0, | |
22 | kGeometrical = 1, | |
7f76e479 | 23 | kMCLabel = 2, |
24 | kSameCollections = 3 | |
cd6431de | 25 | }; |
26 | ||
a7ab01d5 | 27 | void UserCreateOutputObjects(); |
a7ab01d5 | 28 | |
7f76e479 | 29 | void SetMatching(MatchingType t, Double_t p1=1, Double_t p2=1) { fMatching = t; fMatchingPar1 = p1; fMatchingPar2 = p2; } |
30 | void SetPtHardBin(Int_t b) { fSelectPtHardBin = b ; } | |
a7477843 | 31 | void SetUseCellsToMatch(Bool_t i) { fUseCellsToMatch = i ; } |
975e700e | 32 | void SetMinJetMCPt(Float_t pt) { fMinJetMCPt = pt ; } |
43032ce2 | 33 | void SetHistoType(Int_t b) { fHistoType = b ; } |
34 | void SetDeltaPtAxis(Int_t b) { fDeltaPtAxis = b ; } | |
35 | void SetDeltaEtaDeltaPhiAxis(Int_t b) { fDeltaEtaDeltaPhiAxis= b ; } | |
faf21244 | 36 | void SetNEFAxis(Int_t b) { fNEFAxis = b ; } |
37 | void SetZAxis(Int_t b) { fZAxis = b ; } | |
43032ce2 | 38 | void SetDoJet2Histogram(Int_t b) { fDoJet2Histogram = b ; } |
2949a2ec | 39 | |
40 | protected: | |
1ee1b5b8 | 41 | void ExecOnce(); |
7cd832c7 | 42 | void DoJetLoop(); |
6fd5039f | 43 | Bool_t FillHistograms(); |
1ee1b5b8 | 44 | Bool_t Run(); |
f660c2d6 | 45 | Bool_t DoJetMatching(); |
7f76e479 | 46 | void SetMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, MatchingType matching); |
47 | void GetGeometricalMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, Double_t &d) const; | |
48 | void GetMCLabelMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, Double_t &d1, Double_t &d2) const; | |
49 | void GetSameCollectionsMatchingLevel(AliEmcalJet *jet1, AliEmcalJet *jet2, Double_t &d1, Double_t &d2) const; | |
faf21244 | 50 | void FillMatchingHistos(Double_t Pt1, Double_t Pt2, Double_t Eta1, Double_t Eta2, Double_t Phi1, Double_t Phi2, |
51 | Double_t A1, Double_t A2, Double_t d, Double_t CE1, Double_t CE2, Double_t CorrPt1, Double_t CorrPt2, | |
52 | Double_t MCPt1, Double_t NEF1, Double_t NEF2, Double_t Z1, Double_t Z2); | |
43032ce2 | 53 | void FillJetHisto(Double_t Phi, Double_t Eta, Double_t Pt, Double_t A, Double_t NEF, Double_t Z, Double_t CorrPt, Double_t MCPt, Int_t Set); |
54 | void AllocateTH2(); | |
55 | void AllocateTHnSparse(); | |
2949a2ec | 56 | |
7cd832c7 | 57 | MatchingType fMatching; // matching type |
58 | Double_t fMatchingPar1; // matching parameter for jet1-jet2 matching | |
59 | Double_t fMatchingPar2; // matching parameter for jet2-jet1 matching | |
60 | Bool_t fUseCellsToMatch; // use cells instead of clusters to match jets (slower but sometimes needed) | |
61 | Double_t fMinJetMCPt; // minimum jet MC pt | |
62 | Int_t fHistoType; // histogram type (0=TH2, 1=THnSparse) | |
63 | Int_t fDeltaPtAxis; // add delta pt axis in THnSparse (default=0) | |
64 | Int_t fDeltaEtaDeltaPhiAxis; // add delta eta and delta phi axes in THnSparse (default=0) | |
65 | Int_t fNEFAxis; // add NEF axis in matching THnSparse (default=0) | |
66 | Int_t fZAxis; // add Z axis in matching THnSparse (default=0) | |
67 | Int_t fDoJet2Histogram; // add unbiased jet2 histogram (potentially memory consuming if on particle level) | |
68 | ||
69 | Bool_t fIsJet1Rho; //!whether the jet1 collection has to be average subtracted | |
70 | Bool_t fIsJet2Rho; //!whether the jet2 collection has to be average subtracted | |
ed0243d8 | 71 | |
43032ce2 | 72 | // General histos |
73 | TH2 *fHistLeadingJets1PtArea; //!leading jet pt vs. area histogram 1 | |
74 | TH2 *fHistLeadingJets1CorrPtArea; //!leading jet corr pt vs. area histogram 1 | |
75 | TH2 *fHistLeadingJets2PtArea; //!leading jet pt vs. area histogram 2 | |
76 | TH2 *fHistLeadingJets2CorrPtArea; //!leading jet corr pt vs. area histogram 2 | |
77 | TH2 *fHistLeadingJets2PtAreaAcceptance; //!leading jet pt vs. area histogram 2 using jet 1 cuts (acceptance, leading hadron bias, ...) | |
78 | TH2 *fHistLeadingJets2CorrPtAreaAcceptance; //!leading jet corr pt vs. area histogram 2 using jet 1 cuts (acceptance, leading hadron bias, ...) | |
79 | ||
80 | // THnSparse | |
81 | THnSparse *fHistJets1; //!jet1 THnSparse | |
82 | THnSparse *fHistJets2; //!jet2 THnSparse | |
83 | THnSparse *fHistJets2Acceptance; //!jet2 acceptance THnSparse | |
84 | THnSparse *fHistMatching; //!matching THnSparse | |
85 | ||
cd6431de | 86 | // Jets 1 |
05077f28 | 87 | TH2 *fHistJets1PhiEta; //!phi-eta distribution of jets 1 |
43032ce2 | 88 | TH2 *fHistJets1PtArea; //!inclusive jet pt vs. area histogram 1 |
05077f28 | 89 | TH2 *fHistJets1CorrPtArea; //!inclusive jet pt vs. area histogram 1 |
05077f28 | 90 | TH2 *fHistJets1NEFvsPt; //!Jet neutral energy fraction vs. jet pt 1 |
91 | TH2 *fHistJets1CEFvsCEFPt; //!Jet charged energy fraction vs. charged jet pt 1 | |
92 | TH2 *fHistJets1ZvsPt; //!Constituent Pt over Jet Pt ratio vs. jet pt 1 | |
43032ce2 | 93 | |
cd6431de | 94 | // Jets 2 |
05077f28 | 95 | TH2 *fHistJets2PhiEta; //!phi-eta distribution of jets 2 |
96 | TH2 *fHistJets2PtArea; //!inclusive jet pt vs. area histogram 2 | |
97 | TH2 *fHistJets2CorrPtArea; //!inclusive jet pt vs. area histogram 2 | |
05077f28 | 98 | TH2 *fHistJets2PhiEtaAcceptance; //!phi-eta distribution of jets 2 using jet 1 cuts (acceptance, leading hadron bias, ...) |
99 | TH2 *fHistJets2PtAreaAcceptance; //!inclusive jet pt vs. area histogram 2 using jet 1 cuts (acceptance, leading hadron bias, ...) | |
100 | TH2 *fHistJets2CorrPtAreaAcceptance; //!inclusive jet pt vs. area histogram 2 using jet 1 cuts (acceptance, leading hadron bias, ...) | |
05077f28 | 101 | TH2 *fHistJets2NEFvsPt; //!Jet neutral energy fraction vs. jet pt 2 |
102 | TH2 *fHistJets2CEFvsCEFPt; //!Jet charged energy fraction vs. charged jet pt 2 | |
103 | TH2 *fHistJets2ZvsPt; //!Constituent Pt over Jet Pt ratio vs. jet pt 2 | |
43032ce2 | 104 | |
cd6431de | 105 | // Jet1-Jet2 matching |
ca5c29fa | 106 | TH2 *fHistCommonEnergy1vsJet1Pt; //!common energy 1 (%) vs jet 1 pt |
107 | TH2 *fHistCommonEnergy2vsJet2Pt; //!common energy 2 (%) vs jet 2 pt | |
108 | TH2 *fHistDistancevsJet1Pt; //!distance vs jet 1 pt | |
109 | TH2 *fHistDistancevsJet2Pt; //!distance vs jet 2 pt | |
6a20534a | 110 | TH2 *fHistDistancevsCommonEnergy1; //!distance vs common energy 1 (%) |
111 | TH2 *fHistDistancevsCommonEnergy2; //!distance vs common energy 2 (%) | |
05077f28 | 112 | TH2 *fHistCommonEnergy1vsCommonEnergy2; //!common energy 1 (%) vs common energy 2 (%) |
43032ce2 | 113 | TH2 *fHistDeltaEtaDeltaPhi; //!delta eta vs delta phi of matched jets |
114 | ||
c560b734 | 115 | TH2 *fHistJet2PtOverJet1PtvsJet2Pt; //!jet 2 pt over jet 1 pt vs jet 2 pt |
7030f36f | 116 | TH2 *fHistJet1PtOverJet2PtvsJet1Pt; //!jet 1 pt over jet 2 pt vs jet 1 pt |
7030f36f | 117 | TH2 *fHistDeltaPtvsJet1Pt; //!delta pt between matched jets vs jet 1 pt |
cfc2ac24 | 118 | TH2 *fHistDeltaPtvsJet2Pt; //!delta pt between matched jets vs jet 2 pt |
4c00a7af | 119 | TH2 *fHistDeltaPtOverJet1PtvsJet1Pt; //!delta pt / jet 1 pt between matched jets vs jet 1 pt |
120 | TH2 *fHistDeltaPtOverJet2PtvsJet2Pt; //!delta pt / jet 2 pt between matched jets vs jet 2 pt | |
05077f28 | 121 | TH2 *fHistDeltaPtvsDistance; //!delta pt between matched jets vs distance |
122 | TH2 *fHistDeltaPtvsCommonEnergy1; //!delta pt between matched jets vs common energy 1 (%) | |
123 | TH2 *fHistDeltaPtvsCommonEnergy2; //!delta pt between matched jets vs common energy 2 (%) | |
124 | TH2 *fHistDeltaPtvsArea1; //!delta pt between matched jets vs jet 1 area | |
125 | TH2 *fHistDeltaPtvsArea2; //!delta pt between matched jets vs jet 2 area | |
126 | TH2 *fHistDeltaPtvsDeltaArea; //!delta pt between matched jets vs delta area | |
127 | TH2 *fHistJet1PtvsJet2Pt; //!correlation jet 1 pt vs jet 2 pt | |
43032ce2 | 128 | |
129 | TH2 *fHistDeltaCorrPtOverJet1CorrPtvsJet1CorrPt;//!delta pt corr / jet 1 corr pt between matched jets vs jet 1 corr pt | |
130 | TH2 *fHistDeltaCorrPtOverJet2CorrPtvsJet2CorrPt;//!delta pt corr / jet 2 corr pt between matched jets vs jet 2 corr pt | |
131 | TH2 *fHistDeltaCorrPtvsJet1CorrPt; //!delta pt corr between matched jets vs jet 1 corr pt | |
132 | TH2 *fHistDeltaCorrPtvsJet2CorrPt; //!delta pt corr between matched jets vs jet 2 corr pt | |
05077f28 | 133 | TH2 *fHistDeltaCorrPtvsDistance; //!delta pt corr between matched jets vs distance |
134 | TH2 *fHistDeltaCorrPtvsCommonEnergy1; //!delta pt corr between matched jets vs common energy 1 (%) | |
135 | TH2 *fHistDeltaCorrPtvsCommonEnergy2; //!delta pt corr between matched jets vs common energy 2 (%) | |
136 | TH2 *fHistDeltaCorrPtvsArea1; //!delta pt corr between matched jets vs jet 1 area | |
137 | TH2 *fHistDeltaCorrPtvsArea2; //!delta pt corr between matched jets vs jet 2 area | |
138 | TH2 *fHistDeltaCorrPtvsDeltaArea; //!delta pt corr between matched jets vs delta area | |
cd6431de | 139 | TH2 *fHistJet1CorrPtvsJet2CorrPt; //!correlation jet 1 corr pt vs jet 2 corr pt |
43032ce2 | 140 | |
4c00a7af | 141 | TH2 *fHistDeltaMCPtOverJet1MCPtvsJet1MCPt; //!jet 1 MC pt - jet2 pt / jet 1 MC pt vs jet 1 pt |
142 | TH2 *fHistDeltaMCPtOverJet2PtvsJet2Pt; //!jet 1 MC pt - jet2 pt / jet 2 pt vs jet 2 pt | |
43032ce2 | 143 | TH2 *fHistDeltaMCPtvsJet1MCPt; //!jet 1 MC pt - jet2 pt vs jet 1 MC pt |
144 | TH2 *fHistDeltaMCPtvsJet2Pt; //!jet 1 MC pt - jet2 pt vs jet 2 pt | |
05077f28 | 145 | TH2 *fHistDeltaMCPtvsDistance; //!jet 1 MC pt - jet2 pt vs distance |
146 | TH2 *fHistDeltaMCPtvsCommonEnergy1; //!jet 1 MC pt - jet2 pt vs common energy 1 (%) | |
147 | TH2 *fHistDeltaMCPtvsCommonEnergy2; //!jet 1 MC pt - jet2 pt vs common energy 2 (%) | |
148 | TH2 *fHistDeltaMCPtvsArea1; //!jet 1 MC pt - jet2 pt vs jet 1 area | |
149 | TH2 *fHistDeltaMCPtvsArea2; //!jet 1 MC pt - jet2 pt vs jet 2 area | |
150 | TH2 *fHistDeltaMCPtvsDeltaArea; //!jet 1 MC pt - jet2 pt vs delta area | |
4358e58a | 151 | TH2 *fHistJet1MCPtvsJet2Pt; //!correlation jet 1 MC pt vs jet 2 pt |
2949a2ec | 152 | |
153 | private: | |
154 | AliJetResponseMaker(const AliJetResponseMaker&); // not implemented | |
155 | AliJetResponseMaker &operator=(const AliJetResponseMaker&); // not implemented | |
156 | ||
7cd832c7 | 157 | ClassDef(AliJetResponseMaker, 23) // Jet response matrix producing task |
2949a2ec | 158 | }; |
159 | #endif |