6 #include <TClonesArray.h>
10 #include <THnSparse.h>
12 #include <TLorentzVector.h>
19 #include "AliVCluster.h"
20 #include "AliVTrack.h"
25 #include "AliMCEvent.h"
26 #include "AliGenPythiaEventHeader.h"
27 #include "AliAODMCHeader.h"
28 #include "AliMCEvent.h"
29 #include "AliAnalysisManager.h"
32 #include "AliAODEvent.h"
44 fh2PtVsMassJetPartAll(0),
45 fh2PtVsMassJetPartMatch(0),
46 fh2PtVsMassJetPartTagged(0),
47 fh2PtVsMassJetPartTaggedMatch(0),
48 fh2PtVsMassJetDetAll(0),
49 fh2PtVsMassJetDetTagged(0),
50 fh2EtaPhiMatchedDet(0),
51 fh2EtaPhiMatchedPart(0),
58 SetMakeGeneralHistograms(kTRUE);
67 fh2PtVsMassJetPartAll(0),
68 fh2PtVsMassJetPartMatch(0),
69 fh2PtVsMassJetPartTagged(0),
70 fh2PtVsMassJetPartTaggedMatch(0),
71 fh2PtVsMassJetDetAll(0),
72 fh2PtVsMassJetDetTagged(0),
73 fh2EtaPhiMatchedDet(0),
74 fh2EtaPhiMatchedPart(0),
97 Bool_t oldStatus = TH1::AddDirectoryStatus();
98 TH1::AddDirectory(kFALSE);
100 const Int_t nBinsPt = 200;
104 const Int_t nBinsM = 200;
108 const Int_t nBinsConstEff = 40;
117 const Int_t nBinsSparse0 = 5;
118 const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsConstEff};
119 const Double_t xmin0[nBinsSparse0] = { minM, minM, minPt, minPt, minConstEff};
120 const Double_t xmax0[nBinsSparse0] = { maxM, maxM, maxPt, maxPt, maxConstEff};
126 histName =
"fh2PtVsMassJetPartAll";
127 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
129 fOutput->Add(fh2PtVsMassJetPartAll);
131 histName =
"fh2PtVsMassJetPartMatch";
132 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
134 fOutput->Add(fh2PtVsMassJetPartMatch);
136 histName =
"fh2PtVsMassJetPartTagged";
137 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
139 fOutput->Add(fh2PtVsMassJetPartTagged);
141 histName =
"fh2PtVsMassJetPartTaggedMatch";
142 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
144 fOutput->Add(fh2PtVsMassJetPartTaggedMatch);
146 histName =
"fh2PtVsMassJetDetAll";
147 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
149 fOutput->Add(fh2PtVsMassJetDetAll);
151 histName =
"fh2PtVsMassJetDetTagged";
152 histTitle = TString::Format(
"%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
154 fOutput->Add(fh2PtVsMassJetDetTagged);
156 histName =
"fh2EtaPhiMatchedDet";
157 histTitle = TString::Format(
"%s;#eta;#varphi",histName.Data());
159 fOutput->Add(fh2EtaPhiMatchedDet);
161 histName =
"fh2EtaPhiMatchedPart";
162 histTitle = TString::Format(
"%s;#eta;#varphi",histName.Data());
164 fOutput->Add(fh2EtaPhiMatchedPart);
166 histName =
"fhnMassResponse";
167 histTitle = Form(
"%s;#it{M}_{det};#it{M}_{part};#it{p}_{T,det};#it{p}_{T,part};#it{N}_{const}^{det}/#it{N}_{const}^{part}",histName.Data());
168 fhnMassResponse =
new THnSparseF(histName.Data(),histTitle.Data(),nBinsSparse0,nBins0,xmin0,xmax0);
185 THnSparse *hn =
dynamic_cast<THnSparse*
>(
fOutput->At(i));
189 TH1::AddDirectory(oldStatus);
214 cPart->ResetCurrentID();
231 cDet->ResetCurrentID();
virtual ~AliAnalysisTaskJetMassResponseDet()
AliEmcalJet * GetTaggedJet() const
TH1D * fh1AreaPartAll
response matrix
AliEmcalJet * ClosestJet() const
AliJetContainer * GetJetContainer(Int_t i=0) const
Int_t GetTagStatus() const
TH2F * fh2PtVsMassJetPartAll
Bool_t Run()
Run function. This is the core function of the analysis and contains the user code. Therefore users have to implement this function.
Bool_t RetrieveEventObjects()
AliAnalysisTaskJetMassResponseDet()
UShort_t GetNumberOfConstituents() const
TH2F * fh2EtaPhiMatchedDet
pT vs mass of tagged detector level jets
Bool_t RetrieveEventObjects()
Retrieve common objects from event.
THnSparse * fhnMassResponse
eta,phi of matched particle level jets
void UserCreateOutputObjects()
TH2F * fh2EtaPhiMatchedPart
eta,phi of matched detector level jets
TH2F * fh2PtVsMassJetPartTaggedMatch
pT vs mass of tagged particle level jets
Double_t GetSecondOrderSubtracted() const
TH2F * fh2PtVsMassJetDetTagged
pT vs mass of all detector level jets
void Terminate(Option_t *option)
AliEmcalJet * GetNextAcceptJet()
AliEmcalList * fOutput
!output list
Bool_t FillHistograms()
Function filling histograms.
TH2F * fh2PtVsMassJetPartMatch
pT vs mass of all particle level jets
TH2F * fh2PtVsMassJetPartTagged
pT vs mass of all particle level jets matched to a detector level jet
void SetMakeGeneralHistograms(Bool_t g)
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
void UserCreateOutputObjects()
Main initialization function on the worker.
AliEmcalJetShapeProperties * GetShapeProperties() const
TH2F * fh2PtVsMassJetDetAll
pT vs mass of tagged particle level jets matched to a detector level jet
TH1D * fh1AreaDetAll
area of all particle level jets
Double_t GetJetMass(AliEmcalJet *jet)
Container for jet within the EMCAL jet framework.