5 #include <TLorentzVector.h>
12 #include <AliVParticle.h>
21 fhptjetSMinusSingleTrack(0x0),
34 fhptjetSMinusSingleTrack(0x0),
55 Bool_t oldStatus = TH1::AddDirectoryStatus();
56 TH1::AddDirectory(kFALSE);
58 fhptjetSMinusSingleTrack =
new TH1F(
"fhptjetSMinusSingleTrack",
"Subtraction of single track #it{p}_{T}; #it{p}_{T, jet} - #it{p}_{T, Emb Track};Entries", 500,-10.,110.);
61 fhJet1vsJetTag =
new TH2F(
"fhJet1vsJetTag",
"Number of jets vs tagged jets; #it{N}_{jet,Tot}; #it{N}_{jet,Tag}", 30, 1., 30., 30, 1., 30.);
64 fhNconstit =
new TH1F(
"fhNconstit",
"Number of constituents (matched jets); #it{N}_{constituents}", 21, 0., 20.);
67 fhAreaJet =
new TH1F(
"fhAreaJet",
"Area (matched jets); Area", 400., 0., 4);
70 TH1::AddDirectory(oldStatus);
93 AliVParticle *vpe = NULL;
118 AliError(Form(
"%s: Could not retrieve rho %s (some histograms will be filled with zero)!", GetName(), jetContS->
GetRhoName().Data()));
120 }
else fRho = rhoParam->GetVal();
125 AliError(Form(
"%s: Could not retrieve rho_m %s (some histograms will be filled with zero)!", GetName(), jetContS->
GetRhoMassName().Data()));
127 }
else fRhoM = rhomParam->GetVal();
130 Int_t njet1 = 0, ntagjet2 = 0;
132 AliDebug(11,Form(
"NJets Incl: %d Csub: %d",jetCont->
GetNJets(),jetContS->
GetNJets()));
134 jetCont->ResetCurrentID();
159 jetS = jetContS->
GetJet(i);
163 if(ifound==1) ilab = i;
166 if(ifound>1) AliDebug(2,Form(
"Found %d partners",ifound));
167 if(ifound==0) jetS = 0x0;
168 else jetS = jetContS->
GetJet(ilab);
178 Double_t ptjetSMinusEmbTrpt = ptUnsubjet1;
181 if(ptjetS>0. || ptjetS<0.) var = mjetS/ptjetS;
190 fJet2Vec->SetPtEtaPhiM(0.,0.,0.,0.);
196 ptjetSMinusEmbTrpt -= vpe->Pt();
202 jetContO->ResetCurrentID();
223 fJet2Vec->SetPxPyPzE(vpe->Px(),vpe->Py(),vpe->Pz(),vpe->E());
254 if(jetL) drToLJ = jet1->
DeltaR(jetL);
256 drToLJ = jet1->
DeltaR(vpe);
274 ptJetR =
fVecP->Pt();
285 if(ptJetR>0. || ptJetR<0.) var2 /= ptJetR;
305 varsp1[0] = var-var2;
306 varsp1[1] = ptjetS-ptJetR;
312 varsp1[7] = ptjet1 - ptJetR;
318 Double_t varsp2[10] = {var-var2, ptjetS-ptJetR, mUnsubjet1 - var2, ptUnsubjet1 - ptJetR, var2, mUnsubjet1, ptjetS, ptUnsubjet1,
fRho,
fRhoM};
321 Double_t varsp3[6] = {(var-var2)/var2, (ptjetS-ptJetR)/ptJetR, var2, ptJetR,
fRho,
fRhoM};
TH3F ** fh3PtTrueDeltaMLeadPt
! true jet pT vs (Msub - Mtrue) vs LeadPt for matched jets
Double_t GetRhoVal() const
TH1F * fhptjetSMinusSingleTrack
! pT distribution of jets subtracting the pT of the embedded track
const TString & GetRhoName() const
AliEmcalJet * GetTaggedJet() const
AliEmcalJet * ClosestJet() const
AliJetContainer * GetJetContainer(Int_t i=0) const
Int_t GetTagStatus() const
TH1F * fhAreaJet
! area of the matched jet
THnSparse * fhnDeltaMassAndBkgInfo
! DeltaM, DeltapT bkg-unsubtracted M and pT, rho and rhom
Int_t fCentBin
!event centrality bin
ClassImp(AliAnalysisTaskJetShapeConst) AliAnalysisTaskJetShapeConst
TH3F * fhJetSubMatchEtaPhiPt
! eta, phi, pt distribution of jet subtracted and matched
TH2F * fhJet1vsJetTag
! N jet vs N jet tagged
UShort_t GetNumberOfConstituents() const
Container for particles within the EMCAL framework.
virtual ~AliAnalysisTaskJetShapeConst()
UShort_t GetNumberOfTracks() const
TH3F ** fh3MSubPtTrueLeadPt
! subtracted jet mass vs true jet pT vs LeadPt for matched jets for matched jets
TH2F * fhJetEtaPhiOvl
! eta-phi distribution of the selected signal jets
AliParticleContainer * GetParticleContainer(Int_t i=0) const
const TString & GetRhoMassName() const
Int_t fContainerOverlap
jets (jetO) with a pT cut selection to reject overlapping embedded single track (used only in single ...
AliParticleContainer * GetParticleContainer() const
AliEmcalJet * GetLeadingJet(const char *opt="")
TLorentzVector * fVecD
! vector with detector level jet
TH1F * fhNconstit
! number of constituents of the matched jets
Double_t fRadius
Radius that define overlap.
TLorentzVector * fJet1Vec
jet1(AA) vector
virtual AliVParticle * GetParticle(Int_t i=-1) const
Int_t MatchEmbeddedConstituentWithParticleLevel()
Double_t MaxTrackPt() const
ResponseReference fResponseReference
true axis of response matrix
Double_t GetRhoMassVal() const
Background fluctuation studies: dMdpT spectrum for PYTHIA and single track embedding for Constituent ...
TH3F ** fh3MSubPtRawDRMatch
! subtracted jet mass vs subtracted jet pT vs distance to leading Pb-Pb jet
AliEmcalJet * GetNextAcceptJet()
Double_t DeltaR(const AliVParticle *part) const
THnSparse ** fhnMassResponse
! Msub vs Mtrue vs PtCorr vs PtTrue vs DR
Double_t fMinFractionShared
only fill histos for jets if shared fraction larger than X
TH1F * fhNJetsSelEv
! number of selected signal jets per event
Bool_t fOverlap
activate the check on overlap between single particle embedded and jetO (jet with a pT of at least 5 ...
TH3F ** fh3MTruePtTrueLeadPt
! true jet mass vs true jet pT vs LeadPt for matched jets for matched jets
JetMassVarType fJetMassVarType
observable to use
TH2F ** fh2MSubMatch
! subtracted jet mass vs match index (0: no match; 1:match)
AliEmcalList * fOutput
!output list
THnSparse * fhnResolution
! Contains mass and pT resolution
Int_t fMatch
1: matched to MC jet; 0: no match
Short_t TrackAt(Int_t idx) const
TTree * fTreeJetBkg
! tree with jet and bkg variables
TH2F ** fh2MSubPtRawAll
! subtracted jet mass vs subtracted jet pT
AliAnalysisTaskJetShapeConst()
Represent a jet reconstructed using the EMCal jet framework.
AliVParticle * GetEmbeddedConstituent(AliEmcalJet *jet)
Int_t fNConst
N constituents in jet1.
Double_t GetFractionSharedPt(const AliEmcalJet *jet, AliParticleContainer *cont2=0x0) const
TH2F * fhRjetTrvspTj
! distance in R between each jetO and embedded single track (those below fRadius are rejected) ...
Int_t GetNAcceptedParticles() const
Int_t fContainerSub
subtracted jets to be analyzed
Bool_t fFromTree
Input embedding from tree.
TLorentzVector * fJetSubVec
subtracted AA jet vector
TLorentzVector * fJet2Vec
jet2(probe) vector
TLorentzVector * fVecP
! vector with particle level jet
Bool_t fCreateTree
create output tree
Int_t fContainerNoEmb
subtracted jets from Pb-Pb only events
Bool_t fSingleTrackEmb
single track embedding
void UserCreateOutputObjects()
Background fluctuation studies: dMdpT spectrum for PYTHIA and single track embedding.
Container for jet within the EMCAL jet framework.
Int_t fContainerBase
jets to be analyzed
void UserCreateOutputObjects()
TH3F ** fh3PtTrueDeltaMRelLeadPt
! true jet pT vs (Msub - Mtrue)/Mtrue vs LeadPt for matched jets
AliEmcalJet * GetJet(Int_t i) const