AliAnalysisTaskEmcalJet("AliAnalysisTaskJetShapeConst", kTRUE),
fContainerBase(0),
fContainerSub(1),
+ fContainerNoEmb(2),
fMinFractionShared(0),
fSingleTrackEmb(kFALSE),
fCreateTree(kFALSE),
AliAnalysisTaskEmcalJet(name, kTRUE),
fContainerBase(0),
fContainerSub(1),
+ fContainerNoEmb(2),
fMinFractionShared(0),
fSingleTrackEmb(kFALSE),
fCreateTree(kFALSE),
const Double_t minM = -20.;
const Double_t maxM = 80.;
- const Int_t nBinsMT = 50;
- const Double_t minMT = 0.;
- const Double_t maxMT = 50.;
+ // const Int_t nBinsMT = 50;
+ // const Double_t minMT = 0.;
+ // const Double_t maxMT = 50.;
+
+ const Int_t nBinsDRToLJ = 20; //distance to leading jet in Pb-Pb only event
+ const Double_t minDRToLJ = 0.;
+ const Double_t maxDRToLJ = 1.;
//Binning for THnSparse
const Int_t nBinsSparse0 = 5;
- const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsMT};
- const Double_t xmin0[nBinsSparse0] = { minM, minM, minPt, minPt, minMT};
- const Double_t xmax0[nBinsSparse0] = { maxM, maxM, maxPt, maxPt, maxMT};
+ const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsDRToLJ};
+ const Double_t xmin0[nBinsSparse0] = { minM, minM, minPt, minPt, minDRToLJ};
+ const Double_t xmax0[nBinsSparse0] = { maxM, maxM, maxPt, maxPt, maxDRToLJ};
TString histName = "";
TString histTitle = "";
AliEmcalJet* jet1 = NULL; //AA jet
AliEmcalJet *jet2 = NULL; //Embedded Pythia jet
- AliEmcalJet *jet1T = NULL; //tagged AA jet
+ // AliEmcalJet *jet1T = NULL; //tagged AA jet
// AliEmcalJet *jet2T = NULL; //tagged Pythia jet
AliEmcalJet *jetS = NULL; //subtracted jet
AliJetContainer *jetCont = GetJetContainer(fContainerBase);
AliJetContainer *jetContS = GetJetContainer(fContainerSub);
+
+ //Get leading jet in Pb-Pb event without embedded objects
+ AliJetContainer *jetContNoEmb = GetJetContainer(fContainerNoEmb);
+ AliEmcalJet *jetL = NULL;
+ if(jetContNoEmb) jetL = jetContNoEmb->GetLeadingJet("rho");
+
AliDebug(11,Form("NJets Incl: %d Csub: %d",jetCont->GetNJets(),jetContS->GetNJets()));
if(jetCont) {
jetCont->ResetCurrentID();
while((jet1 = jetCont->GetNextAcceptJet())) {
jet2 = NULL;
- jet1T = NULL;
+ // jet1T = NULL;
// jet2T = NULL;
jetS = NULL;
- if(jet1->GetTagStatus()>0) jet1T = jet1->GetTaggedJet();
+ // if(jet1->GetTagStatus()>0) jet1T = jet1->GetTaggedJet();
//Get constituent subtacted version of jet
Int_t ifound = 0;
fh2MTruePtTrue[fCentBin]->Fill(jet2->M(),jet2->Pt());
fh2PtTrueDeltaM[fCentBin]->Fill(jet2->Pt(),jetS->M()-jet2->M());
if(jet2->M()>0.) fh2PtTrueDeltaMRel[fCentBin]->Fill(jet2->Pt(),(jetS->M()-jet2->M())/jet2->M());
- Double_t mJet1Tagged = -1.;
- if(jet1T) mJet1Tagged = jet1T->M();
- Double_t var[5] = {jetS->M(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt(),mJet1Tagged};
+ // Double_t mJet1Tagged = -1.;
+ // if(jet1T) mJet1Tagged = jet1T->M();
+ Double_t drToLJ = 0.;
+ if(jetL) drToLJ = jet1->DeltaR(jetL);
+ Double_t var[5] = {jetS->M(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt(),drToLJ};
fhnMassResponse[fCentBin]->Fill(var);
}
}
class AliVParticle;
class AliJetContainer;
-namespace fastjet {
- class PseudoJet;
- class GenericSubtractor;
-}
+/* namespace fastjet { */
+/* class PseudoJet; */
+/* class GenericSubtractor; */
+/* } */
#include "AliAnalysisTaskEmcalJet.h"
void SetJetContainerBase(Int_t c) { fContainerBase = c ; }
void SetJetContainerSub(Int_t c) { fContainerSub = c ; }
+ void SetJetContainerNoEmb(Int_t c) { fContainerNoEmb = c ; }
void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
void SetSingleTrackEmbedding(Bool_t b) { fSingleTrackEmb = b ; }
Int_t fContainerBase; // jets to be analyzed
Int_t fContainerSub; // subtracted jets to be analyzed
+ Int_t fContainerNoEmb; // subtracted jets from Pb-Pb only events
Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
Bool_t fSingleTrackEmb; // single track embedding
Bool_t fCreateTree; // create output tree
AliAnalysisTaskJetShapeConst(const AliAnalysisTaskJetShapeConst&); // not implemented
AliAnalysisTaskJetShapeConst &operator=(const AliAnalysisTaskJetShapeConst&); // not implemented
- ClassDef(AliAnalysisTaskJetShapeConst, 1)
+ ClassDef(AliAnalysisTaskJetShapeConst, 2)
};
#endif
AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv() :
AliAnalysisTaskEmcalJet("AliAnalysisTaskJetShapeDeriv", kTRUE),
fContainerBase(0),
+ fContainerNoEmb(1),
fMinFractionShared(0),
fSingleTrackEmb(kFALSE),
fCreateTree(kFALSE),
AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv(const char *name) :
AliAnalysisTaskEmcalJet(name, kTRUE),
fContainerBase(0),
+ fContainerNoEmb(1),
fMinFractionShared(0),
fSingleTrackEmb(kFALSE),
fCreateTree(kFALSE),
const Double_t minM = -20.;
const Double_t maxM = 80.;
- const Int_t nBinsMT = 50;
- const Double_t minMT = 0.;
- const Double_t maxMT = 50.;
+ // const Int_t nBinsMT = 50;
+ // const Double_t minMT = 0.;
+ // const Double_t maxMT = 50.;
+
+ const Int_t nBinsDRToLJ = 20; //distance to leading jet in Pb-Pb only event
+ const Double_t minDRToLJ = 0.;
+ const Double_t maxDRToLJ = 1.;
const Int_t nBinsV1 = 60;
const Double_t minV1 = -60.;
//Binning for THnSparse
const Int_t nBinsSparse0 = 5;
- const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsMT};
- const Double_t xmin0[nBinsSparse0] = { minM, minM, minPt, minPt, minMT};
- const Double_t xmax0[nBinsSparse0] = { maxM, maxM, maxPt, maxPt, maxMT};
+ const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsDRToLJ};
+ const Double_t xmin0[nBinsSparse0] = { minM, minM, minPt, minPt, minDRToLJ};
+ const Double_t xmax0[nBinsSparse0] = { maxM, maxM, maxPt, maxPt, maxDRToLJ};
TString histName = "";
TString histTitle = "";
AliEmcalJet* jet1 = NULL; //AA jet
AliEmcalJet *jet2 = NULL; //Embedded Pythia jet
- AliEmcalJet *jet1T = NULL; //tagged AA jet
+ // AliEmcalJet *jet1T = NULL; //tagged AA jet
// AliEmcalJet *jet2T = NULL; //tagged Pythia jet
AliJetContainer *jetCont = GetJetContainer(fContainerBase);
fRho = (Float_t)jetCont->GetRhoVal();
fRhoM = (Float_t)jetCont->GetRhoMassVal();
+
+ //Get leading jet in Pb-Pb event without embedded objects
+ AliJetContainer *jetContNoEmb = GetJetContainer(fContainerNoEmb);
+ AliEmcalJet *jetL = NULL;
+ if(jetContNoEmb) jetL = jetContNoEmb->GetLeadingJet("rho");
+
if(jetCont) {
jetCont->ResetCurrentID();
while((jet1 = jetCont->GetNextAcceptJet())) {
jet2 = NULL;
- jet1T = NULL;
+ // jet1T = NULL;
// jet2T = NULL;
- if(jet1->GetTagStatus()>0) jet1T = jet1->GetTaggedJet();
+ // if(jet1->GetTagStatus()>0) jet1T = jet1->GetTaggedJet();
//Fill histograms for all AA jets
fh2MSubPtRawAll[fCentBin]->Fill(jet1->GetSecondOrderSubtracted(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area());
fh2PtRawSubFacV1[fCentBin]->Fill(jet1->Pt(),-1.*(fRho+fRhoM)*jet1->GetFirstDerivative());
fh2MTruePtTrue[fCentBin]->Fill(jet2->M(),jet2->Pt());
fh2PtTrueDeltaM[fCentBin]->Fill(jet2->Pt(),jet1->GetSecondOrderSubtracted()-jet2->M());
if(jet2->M()>0.) fh2PtTrueDeltaMRel[fCentBin]->Fill(jet2->Pt(),(jet1->GetSecondOrderSubtracted()-jet2->M())/jet2->M());
- Double_t mJet1Tagged = -1.;
- if(jet1T) mJet1Tagged = jet1T->M();
- Double_t var[5] = {jet1->GetSecondOrderSubtracted(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt(),mJet1Tagged};
+ // Double_t mJet1Tagged = -1.;
+ // if(jet1T) mJet1Tagged = jet1T->M();
+ Double_t drToLJ = 0.;
+ if(jetL) drToLJ = jet1->DeltaR(jetL);
+ Double_t var[5] = {jet1->GetSecondOrderSubtracted(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt(),drToLJ};
fhnMassResponse[fCentBin]->Fill(var);
}
}
class AliVParticle;
class AliJetContainer;
-namespace fastjet {
- class PseudoJet;
- class GenericSubtractor;
-}
+/* namespace fastjet { */
+/* class PseudoJet; */
+/* class GenericSubtractor; */
+/* } */
#include "AliAnalysisTaskEmcalJet.h"
void SetCreateTree(Bool_t b) { fCreateTree = b ; }
void SetJetContainerBase(Int_t c) { fContainerBase = c ; }
+ void SetJetContainerNoEmb(Int_t c) { fContainerNoEmb = c ; }
void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
void SetSingleTrackEmbedding(Bool_t b) { fSingleTrackEmb = b ; }
AliVParticle* GetEmbeddedConstituent(AliEmcalJet *jet);
Int_t fContainerBase; // jets to be analyzed
+ Int_t fContainerNoEmb; // subtracted jets from Pb-Pb only events
Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
Bool_t fSingleTrackEmb; // single track embedding
Bool_t fCreateTree; // create output tree
AliAnalysisTaskJetShapeDeriv(const AliAnalysisTaskJetShapeDeriv&); // not implemented
AliAnalysisTaskJetShapeDeriv &operator=(const AliAnalysisTaskJetShapeDeriv&); // not implemented
- ClassDef(AliAnalysisTaskJetShapeDeriv, 1)
+ ClassDef(AliAnalysisTaskJetShapeDeriv, 2)
};
#endif
AliAnalysisTaskJetShapeConst *AddTaskJetShapeConst(const char * njetsBase,
const char * njetsSub,
+ const char * njetsNoEmb,
const Double_t R,
const char * nrhoBase,
const char * nrhoMass,
jetContSub->SetJetPtCut(-1e6);
}
+ AliJetContainer *jetContNoEmb = task->AddJetContainer(njetsNoEmb,strType,R);
+ if(jetContNoEmb) {
+ jetContNoEmb->SetRhoName(nrhoBase);
+ jetContNoEmb->SetRhoMassName(nrhoMass);
+ jetContNoEmb->ConnectParticleContainer(trackCont);
+ jetContNoEmb->ConnectClusterContainer(clusterCont);
+ jetContNoEmb->SetPercAreaCut(0.6);
+ jetContNoEmb->SetJetPtCut(-1e6);
+ }
+
task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
task->SetCentralityEstimator(CentEst);
task->SelectCollisionCandidates(pSel);
AliAnalysisTaskJetShapeDeriv *AddTaskJetShapeDeriv(const char * njetsBase,
+ const char * njetsNoEmb,
const Double_t R,
const char * nrhoBase,
const char * nrhoMass,
jetContBase->SetPercAreaCut(0.6);
}
+ AliJetContainer *jetContNoEmb = task->AddJetContainer(njetsNoEmb,strType,R);
+ if(jetContNoEmb) {
+ jetContNoEmb->SetRhoName(nrhoBase);
+ jetContNoEmb->SetRhoMassName(nrhoMass);
+ jetContNoEmb->ConnectParticleContainer(trackCont);
+ jetContNoEmb->ConnectClusterContainer(clusterCont);
+ jetContNoEmb->SetPercAreaCut(0.6);
+ jetContNoEmb->SetJetPtCut(-1e6);
+ }
+
task->SetCaloTriggerPatchInfoName(kEmcalTriggers.Data());
task->SetCentralityEstimator(CentEst);
task->SelectCollisionCandidates(pSel);