-
// **************************************
// Task used for the correction of determiantion of reconstructed jet spectra
// Compares input (gen) and output (rec) jets
#include <TList.h>
#include <TLorentzVector.h>
#include <TClonesArray.h>
+#include <TRefArray.h>
#include "TDatabasePDG.h"
#include "AliAnalysisTaskJetSpectrum2.h"
ClassImp(AliAnalysisTaskJetSpectrum2)
-AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(): AliAnalysisTaskSE(),
+AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2():
+ AliAnalysisTaskSE(),
fJetHeaderRec(0x0),
fJetHeaderGen(0x0),
fAODIn(0x0),
f1PtScale(0x0),
fBranchRec("jets"),
fBranchGen(""),
- fBranchBkg(""),
+ fBranchBkgRec(""),
+ fBranchBkgGen(""),
fNonStdFile(""),
fUseAODJetInput(kFALSE),
fUseAODTrackInput(kFALSE),
fUseGlobalSelection(kFALSE),
fUseExternalWeightOnly(kFALSE),
fLimitGenJetEta(kFALSE),
- fBkgSubtraction(kFALSE),
fNMatchJets(5),
- fFillCorrBkg(0),
fFilterMask(0),
fEventSelectionMask(0),
fAnalysisType(0),
fMinJetPt(0),
fMinTrackPt(0.15),
fDeltaPhiWindow(90./180.*TMath::Pi()),
+ fMultRec(0),
+ fMultGen(0),
fh1Xsec(0x0),
fh1Trials(0x0),
fh1PtHard(0x0),
fh1PtHardTrials(0x0),
fh1ZVtx(0x0),
fh1TmpRho(0x0),
+ fh2MultRec(0x0),
+ fh2MultGen(0x0),
fh2PtFGen(0x0),
fh2RelPtFGen(0x0),
fHistList(0x0)
fh1PtJetsIn[ij] = 0;
fh1PtTracksIn[ij] = 0;
fh1PtTracksLeadingIn[ij] = 0;
+ fh2MultJetPt[ij] = 0;
fh2NJetsPt[ij] = 0;
fh2NTracksPt[ij] = 0;
- fh2LeadingJetPtJetPhi[ij] = 0;
fh2LeadingTrackPtTrackPhi[ij] = 0;
- for(int i = 0;i < kMaxJets;++i){
+ for(int i = 0;i <= kMaxJets;++i){
fh2PhiPt[ij][i] = 0;
fh2EtaPt[ij][i] = 0;
+ fh2AreaPt[ij][i] = 0;
+ fh2EtaArea[ij][i] = 0;
fh2PhiEta[ij][i] = 0;
fh1PtIn[ij][i] = 0;
f1PtScale(0x0),
fBranchRec("jets"),
fBranchGen(""),
- fBranchBkg(""),
+ fBranchBkgRec(""),
+ fBranchBkgGen(""),
fNonStdFile(""),
fUseAODJetInput(kFALSE),
fUseAODTrackInput(kFALSE),
fUseGlobalSelection(kFALSE),
fUseExternalWeightOnly(kFALSE),
fLimitGenJetEta(kFALSE),
- fBkgSubtraction(kFALSE),
fNMatchJets(5),
- fFillCorrBkg(0),
fFilterMask(0),
fEventSelectionMask(0),
fAnalysisType(0),
fMinJetPt(0),
fMinTrackPt(0.15),
fDeltaPhiWindow(90./180.*TMath::Pi()),
+ fMultRec(0),
+ fMultGen(0),
fh1Xsec(0x0),
fh1Trials(0x0),
fh1PtHard(0x0),
fh1PtHardTrials(0x0),
fh1ZVtx(0x0),
fh1TmpRho(0x0),
+ fh2MultRec(0x0),
+ fh2MultGen(0x0),
fh2PtFGen(0x0),
fh2RelPtFGen(0x0),
fHistList(0x0)
fh1PtJetsIn[ij] = 0;
fh1PtTracksIn[ij] = 0;
fh1PtTracksLeadingIn[ij] = 0;
+ fh2MultJetPt[ij] = 0;
fh2NJetsPt[ij] = 0;
fh2NTracksPt[ij] = 0;
- fh2LeadingJetPtJetPhi[ij] = 0;
fh2LeadingTrackPtTrackPhi[ij] = 0;
- for(int i = 0;i < kMaxJets;++i){
+ for(int i = 0;i <= kMaxJets;++i){
fh2PhiPt[ij][i] = 0;
fh2EtaPt[ij][i] = 0;
+ fh2AreaPt[ij][i] = 0;
+ fh2EtaArea[ij][i] = 0;
fh2PhiEta[ij][i] = 0;
fh1PtIn[ij][i] = 0;
fh2DijetDifvsSum[ij] = 0;
}
- DefineOutput(1, TList::Class());
+ DefineOutput(1, TList::Class());
}
// Connect the AOD
if (fDebug > 1) printf("AnalysisTaskJetSpectrum2::UserCreateOutputObjects() \n");
-
OpenFile(1);
- if(!fHistList)fHistList = new TList();
+ if(!fHistList)fHistList = new TList();
fHistList->SetOwner(kTRUE);
- Bool_t oldStatus = TH1::AddDirectoryStatus();
+ Bool_t oldStatus = TH1::AddDirectoryStatus();
TH1::AddDirectory(kFALSE);
-
MakeJetContainer();
fHistList->Add(fhnCorrelation);
fHistList->Add(fhnCorrelationPhiZRec);
binLimitsPt[iPt] = binLimitsPt[iPt-1] + 1.0;
}
}
-
const Int_t nBinPhi = 90;
Double_t binLimitsPhi[nBinPhi+1];
for(Int_t iPhi = 0;iPhi<=nBinPhi;iPhi++){
if(iPhi==0){
- binLimitsPhi[iPhi] = -1.*TMath::Pi();
+ binLimitsPhi[iPhi] = 0;
}
else{
binLimitsPhi[iPhi] = binLimitsPhi[iPhi-1] + 1/(Float_t)nBinPhi * TMath::Pi()*2;
}
}
-
- const Int_t nBinPhi2 = 360;
- Double_t binLimitsPhi2[nBinPhi2+1];
- for(Int_t iPhi2 = 0;iPhi2<=nBinPhi2;iPhi2++){
- if(iPhi2==0){
- binLimitsPhi2[iPhi2] = 0.;
- }
- else{
- binLimitsPhi2[iPhi2] = binLimitsPhi2[iPhi2-1] + 1/(Float_t)nBinPhi2 * TMath::Pi()*2;
- }
- }
-
const Int_t nBinEta = 40;
Double_t binLimitsEta[nBinEta+1];
for(Int_t iEta = 0;iEta<=nBinEta;iEta++){
fh1Xsec = new TProfile("fh1Xsec","xsec from pyxsec.root",1,0,1);
fh1Xsec->GetXaxis()->SetBinLabel(1,"<#sigma>");
fHistList->Add(fh1Xsec);
-
fh1Trials = new TH1F("fh1Trials","trials root file",1,0,1);
fh1Trials->GetXaxis()->SetBinLabel(1,"#sum{ntrials}");
fHistList->Add(fh1Trials);
-
fh1PtHard = new TH1F("fh1PtHard","PYTHIA Pt hard;p_{T,hard}",nBinPt,binLimitsPt);
fHistList->Add(fh1PtHard);
-
fh1PtHardNoW = new TH1F("fh1PtHardNoW","PYTHIA Pt hard no weight;p_{T,hard}",nBinPt,binLimitsPt);
fHistList->Add(fh1PtHardNoW);
-
fh1PtHardTrials = new TH1F("fh1PtHardTrials","PYTHIA Pt hard weight with trials;p_{T,hard}",nBinPt,binLimitsPt);
fHistList->Add(fh1PtHardTrials);
-
fh1ZVtx = new TH1F("fh1ZVtx","z vtx;z_{vtx} (cm)",400,-20,20);
fHistList->Add(fh1ZVtx);
+ fh2MultRec = new TH2F("fh2MultRec","multiplicity rec;# tracks;# jetrefs",400,-0.5,4000,400,0.,4000);
+ fHistList->Add(fh2MultRec);
+ fh2MultGen = new TH2F("fh2MultGen","multiplicity gen;# tracks;# jetrefs",400,-0.5,4000,400,0.,4000);
+ fHistList->Add(fh2MultGen);
fh2PtFGen = new TH2F("fh2PtFGen",Form("%s vs. %s;p_{T,gen};p_{T,rec}",fBranchRec.Data(),fBranchGen.Data()),nBinPt,binLimitsPt,nBinPt,binLimitsPt);
fHistList->Add(fh2PtFGen);
fh2RelPtFGen = new TH2F("fh2RelPtFGen",";p_{T,gen};p_{T,rec}-p_{T,gen}/p_{T,Gen}",nBinPt,binLimitsPt,241,-2.41,2.41);
fHistList->Add(fh2RelPtFGen);
-
for(int ij = 0;ij <kJetTypes;++ij){
TString cAdd = "";
TString cJetBranch = "";
fh1SumPtTrack[ij] = new TH1F(Form("fh1SumPtTrack%s",cAdd.Data()),Form("Sum %s track p_T;p_{T} (GeV/c)",cAdd.Data()),nBinPt,binLimitsPt);
fHistList->Add(fh1SumPtTrack[ij]);
+ fh2MultJetPt[ij] = new TH2F(Form("fh2MultJetPt%s",cAdd.Data()),Form("%s jets p_T;# tracks;;p_{T} (GeV/c)",cAdd.Data()),400,0,4000,nBinPt,binLimitsPt);
+ fHistList->Add(fh2MultJetPt[ij]);
+
fh2NJetsPt[ij] = new TH2F(Form("fh2N%sJetsPt",cAdd.Data()),Form("Number of %s jets above threshhold;p_{T,cut} (GeV/c);N_{jets}",cAdd.Data()),nBinPt,binLimitsPt,50,-0.5,49.5);
fHistList->Add(fh2NJetsPt[ij]);
fh2NTracksPt[ij] = new TH2F(Form("fh2N%sTracksPt",cAdd.Data()),Form("Number of %s tracks above threshhold;p_{T,cut} (GeV/c);N_{tracks}",cAdd.Data()),nBinPt,binLimitsPt,1000,0.,4000);
fHistList->Add(fh2NTracksPt[ij]);
- fh2LeadingJetPtJetPhi[ij] = new TH2F(Form("fh2Leading%sJetPtJetPhi",cAdd.Data()),Form("phi of leading %s jet;p_{T};#phi;",cAdd.Data()),
- nBinPt,binLimitsPt,nBinPhi,binLimitsPhi);
- fHistList->Add(fh2LeadingJetPtJetPhi[ij]);
-
fh2LeadingTrackPtTrackPhi[ij] = new TH2F(Form("fh2Leading%sTrackPtTrackPhi",cAdd.Data()),Form("phi of leading %s track;p_{T};#phi;",cAdd.Data()),
nBinPt,binLimitsPt,nBinPhi,binLimitsPhi);
fHistList->Add(fh2LeadingTrackPtTrackPhi[ij]);
-
- for(int i = 0;i < kMaxJets;++i){
+ for(int i = 0;i <= kMaxJets;++i){
fh1PtIn[ij][i] = new TH1F(Form("fh1Pt%sIn_j%d",cAdd.Data(),i),Form("%s p_T input ;p_{T}",cAdd.Data()),nBinPt,binLimitsPt);
fHistList->Add(fh1PtIn[ij][i]);
40,0.,2.,nBinPt,binLimitsPt);
fHistList->Add(fh2RhoPt[ij][i]);
if(!fh1TmpRho)fh1TmpRho = new TH1F("fh1TmpRho","tmp histo for jet shape",40,0.,2);
-
-
fh2PsiPt[ij][i] = new TH2F(Form("fh2PsiPt%s_j%d",cAdd.Data(),i),Form("jet shape #psi for %s jets;r;p_{T};",cAdd.Data()),
40,0.,2.,nBinPt,binLimitsPt);
fHistList->Add(fh2PsiPt[ij][i]);
-
- fh2PhiPt[ij][i] = new TH2F(Form("fh2PhiPt%s_j%d",cAdd.Data(),i),Form("pt vs phi %s;phi;p_{T};",cAdd.Data()),
+ fh2PhiPt[ij][i] = new TH2F(Form("fh2PhiPt%s_j%d",cAdd.Data(),i),Form("pt vs phi %s;#phi;p_{T};",cAdd.Data()),
nBinPhi,binLimitsPhi,nBinPt,binLimitsPt);
fHistList->Add(fh2PhiPt[ij][i]);
- fh2EtaPt[ij][i] = new TH2F(Form("fh2EtaPt%s_j%d",cAdd.Data(),i),Form("pt vs phi %s;phi;p_{T};",cAdd.Data()),
- 20,-1.,1.,nBinPt,binLimitsPt);
+ fh2EtaPt[ij][i] = new TH2F(Form("fh2EtaPt%s_j%d",cAdd.Data(),i),Form("pt vs eta %s;#eta;p_{T};",cAdd.Data()),
+ 50,-1.,1.,nBinPt,binLimitsPt);
fHistList->Add(fh2EtaPt[ij][i]);
+ fh2AreaPt[ij][i] = new TH2F(Form("fh2AreaPt%s_j%d",cAdd.Data(),i),
+ Form("pt vs area %s;area;p_{T};",
+ cAdd.Data()),
+ 50,0.,1.,nBinPt,binLimitsPt);
+ fHistList->Add(fh2AreaPt[ij][i]);
+ fh2EtaArea[ij][i] = new TH2F(Form("fh2EtaArea%s_j%d",cAdd.Data(),i),
+ Form("area vs eta %s;#eta;area;",
+ cAdd.Data()),
+ 50,-1.,1.,50,0,1.);
+ fHistList->Add(fh2EtaArea[ij][i]);
+
fh2PhiEta[ij][i] = new TH2F(Form("fh2PhiEta%s_j%d",cAdd.Data(),i),Form("phi vs eta %s ;phi;p_{T};",cAdd.Data()),
nBinPhi,binLimitsPhi,20,-1.,1.);
fHistList->Add(fh2PhiEta[ij][i]);
-
}
fh2DijetPt2vsPt1[ij] = new TH2F(Form("fh2Dijet%sPt2vsPt1",cAdd.Data()),"Pt2 versus Pt1;p_{T,1} (GeV/c);p_{T,2} (GeV/c)",250,0.,250.,250,0.,250.);
fHistList->Add(fh2DijetPt2vsPt1[ij]);
-
fh2DijetDifvsSum[ij] = new TH2F(Form("fh2Dijet%sDifvsSum",cAdd.Data()),"Pt difference vs Pt sum;p_{T,1}+p_{T,2} (GeV/c);#Deltap_{T} (GeV/c)",400,0.,400.,150,0.,150.);
fHistList->Add( fh2DijetDifvsSum[ij]);
}
-
// =========== Switch on Sumw2 for all histos ===========
for (Int_t i=0; i<fHistList->GetEntries(); ++i) {
TH1 *h1 = dynamic_cast<TH1*>(fHistList->At(i));
}
}
+ TClonesArray *aodBackRecJets = 0;
+ if(fBranchBkgRec.Length()>0){
+ if(fAODOut&&!aodBackRecJets){
+ aodBackRecJets = dynamic_cast<TClonesArray*>(fAODOut->FindListObject(fBranchBkgRec.Data()));
+ }
+ if(fAODExtension&&!aodBackRecJets){
+ aodBackRecJets = dynamic_cast<TClonesArray*>(fAODExtension->GetAOD()->FindListObject(fBranchBkgRec.Data()));
+ }
+ if(fAODIn&&!aodBackRecJets){
+ aodBackRecJets = dynamic_cast<TClonesArray*>(fAODIn->FindListObject(fBranchBkgRec.Data()));
+ }
+
+ if(!aodBackRecJets){
+ Printf("%s:%d no background rec Jet array with name %s in AOD",(char*)__FILE__,__LINE__,fBranchBkgRec.Data());
+ return;
+ }
+ }
+
+
+ TClonesArray *aodBackGenJets = 0;
+
+ if(fBranchBkgGen.Length()>0){
+ if(fAODOut&&!aodBackGenJets){
+ aodBackGenJets = dynamic_cast<TClonesArray*>(fAODOut->FindListObject(fBranchBkgGen.Data()));
+ }
+ if(fAODExtension&&!aodBackGenJets){
+ aodBackGenJets = dynamic_cast<TClonesArray*>(fAODExtension->GetAOD()->FindListObject(fBranchBkgGen.Data()));
+ }
+ if(fAODIn&&!aodBackGenJets){
+ aodBackGenJets = dynamic_cast<TClonesArray*>(fAODIn->FindListObject(fBranchBkgGen.Data()));
+ }
+
+ if(!aodBackGenJets){
+ Printf("%s:%d no background rec Jet array with name %s in AOD",(char*)__FILE__,__LINE__,fBranchBkgGen.Data());
+ return;
+ }
+ }
+
// new Scheme
// first fill all the pure histograms, i.e. full jets
fh1ZVtx->Fill(aod->GetPrimaryVertex()->GetZ());
}
-
+ Int_t recMult1 = recParticles.GetEntries();
+ Int_t genMult1 = genParticles.GetEntries();
+
+ Int_t recMult2 = MultFromJetRefs(aodBackRecJets);
+ Int_t genMult2 = MultFromJetRefs(aodBackGenJets);
+
+ fh2MultRec->Fill(recMult1,recMult2);
+ fh2MultGen->Fill(genMult1,genMult2);
+ fMultRec = recMult1;
+ if(fMultRec<=0)fMultRec = recMult2;
+ fMultGen = genMult1;
+ if(fMultGen<=0)fMultGen = genMult2;
// the loops for rec and gen should be indentical... pass it to a separate
// function ...
return;
}
+ Int_t refMult = fMultRec;
+ if(iType==kJetGen||iType==kJetGenFull){
+ refMult = fMultGen;
+ }
+
Int_t nJets = jetsList.GetEntries();
fh1NJets[iType]->Fill(nJets);
AliAODJet *jet = (AliAODJet*)jetsList.At(ij);
Float_t ptJet = jet->Pt();
fh1PtJetsIn[iType]->Fill(ptJet);
+ fh2MultJetPt[iType]->Fill(refMult,ptJet);
if(ptJet>ptOld){
Printf("%s:%d Jets Type %d Not Sorted !! %d:%.3E %d:%.3E",(char*)__FILE__,__LINE__,iType,ij,ptJet,ij-1,ptOld);
}
}
}
// fill jet histos for kmax jets
- if(ij<kMaxJets){
+
Float_t phiJet = jet->Phi();
Float_t etaJet = jet->Eta();
if(phiJet<0)phiJet+=TMath::Pi()*2.;
fh1TmpRho->Reset();
- fh1PtIn[iType][ij]->Fill(ptJet);
+ if(ij<kMaxJets)fh1PtIn[iType][ij]->Fill(ptJet);
+ fh1PtIn[iType][kMaxJets]->Fill(ptJet);
// fill leading jets...
- if(ptJet>10)fh2PhiEta[iType][ij]->Fill(phiJet,etaJet);
- fh2PhiPt[iType][ij]->Fill(phiJet,ptJet);
- fh2EtaPt[iType][ij]->Fill(etaJet,ptJet);
- if(ij==0){
- fh2LeadingJetPtJetPhi[iType]->Fill(ptJet,phiJet);
- if(ij==0&&iType==0&&fDebug>1){
- Printf("%d %3.3f %p %s",iType,ptJet,jet,fBranchRec.Data());
+ if(ptJet>10){
+ if(ij<kMaxJets){
+ fh2PhiEta[iType][ij]->Fill(phiJet,etaJet);
+ fh2AreaPt[iType][ij]->Fill(jet->EffectiveAreaCharged(),ptJet);
+ fh2EtaArea[iType][ij]->Fill(etaJet,jet->EffectiveAreaCharged());
}
+ fh2PhiEta[iType][kMaxJets]->Fill(phiJet,etaJet);
+ fh2AreaPt[iType][kMaxJets]->Fill(jet->EffectiveAreaCharged(),ptJet);
+ fh2EtaArea[iType][kMaxJets]->Fill(etaJet,jet->EffectiveAreaCharged());
+ }
+ if(ij<kMaxJets){
+ fh2PhiPt[iType][ij]->Fill(phiJet,ptJet);
+ fh2EtaPt[iType][ij]->Fill(etaJet,ptJet);
}
- if(particlesList.GetSize()){
+ fh2PhiPt[iType][kMaxJets]->Fill(phiJet,ptJet);
+ fh2EtaPt[iType][kMaxJets]->Fill(etaJet,ptJet);
+ if(particlesList.GetSize()&&ij<kMaxJets){
// Particles... correlated with jets...
for(int it = 0;it<particlesList.GetEntries();++it){
AliVParticle *part = (AliVParticle*)particlesList.At(it);
fh2PsiPt[iType][ij]->Fill(r,ptJet,rhoSum);
}
}// if we have particles
- }// ij < kMaxJets
}// Jet Loop
}
+Int_t AliAnalysisTaskJetSpectrum2::MultFromJetRefs(TClonesArray* jets){
+ if(!jets)return 0;
+
+ Int_t refMult = 0;
+ for(int ij = 0;ij < jets->GetEntries();++ij){
+ AliAODJet* jet = (AliAODJet*)jets->At(ij);
+ if(!jet)continue;
+ TRefArray *refs = jet->GetRefTracks();
+ if(!refs)continue;
+ refMult += refs->GetEntries();
+ }
+ return refMult;
+
+}
virtual void SetAODTrackInput(Bool_t b){fUseAODTrackInput = b;}
virtual void SetAODMCInput(Bool_t b){fUseAODMCInput = b;}
virtual void SetLimitGenJetEta(Bool_t b){fLimitGenJetEta = b;}
- virtual void SetBkgSubtraction(Bool_t b){fBkgSubtraction = b;}
- virtual void SetFillCorrBkg(Int_t i){fFillCorrBkg = i;}
virtual void SetJetEtaWindow(Float_t f){fJetRecEtaWindow = f;}
virtual void SetTrackEtaWindow(Float_t f){fTrackRecEtaWindow = f;}
virtual void SetNMatchJets(Short_t f){fNMatchJets = f;}
virtual void SetAnalysisType(Int_t i){fAnalysisType = i;}
virtual void SetBranchGen(const char* c){fBranchGen = c;}
virtual void SetBranchRec(const char* c){fBranchRec = c;}
- virtual void SetBranchBkg(const char* c){fBranchBkg = c;}
+ virtual void SetBranchBkgRec(const char* c){fBranchBkgRec = c;}
+ virtual void SetBranchBkgGen(const char* c){fBranchBkgGen = c;}
virtual void SetTrackTypeGen(Int_t i){fTrackTypeGen = i;}
virtual void SetTrackTypeRec(Int_t i){fTrackTypeRec = i;}
virtual void SetFilterMask(UInt_t i){fFilterMask = i;}
// this has to match with our selection of input events
enum {kTrackUndef = 0, kTrackAOD, kTrackKineAll,kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance};
enum {kAnaMC = 0x1, kAnaMCESD = 0x2};
- enum {kMaxJets = 4};
+ enum {kMaxJets = 3};
enum {kJetRec = 0, kJetGen, kJetRecFull, kJetGenFull, kJetTypes}; //
enum {kMaxCorrelation = 3};
void FillMatchHistos(TList &recJetsList,TList &genJetsList);
Bool_t JetSelected(AliAODJet *jet);
+ Int_t MultFromJetRefs(TClonesArray *jets);
+
AliJetHeader *fJetHeaderRec;//! The jet header that can be fetched from the userinfo
AliJetHeader *fJetHeaderGen;//! The jet header that can fetched from the userinfo
AliAODEvent *fAODIn; //! where we take the jets from
TString fBranchRec; // AOD branch name for reconstructed
TString fBranchGen; // AOD brnach for genereated
- TString fBranchBkg; //AOD branch for background
+ TString fBranchBkgRec; //AOD branch for background
+ TString fBranchBkgGen; //AOD branch for background
TString fNonStdFile; // name of delta aod file to catch the extension
Bool_t fUseAODJetInput; // take jet from input AOD not from ouptu AOD
Bool_t fUseGlobalSelection; // Limit the eta of the generated jets
Bool_t fUseExternalWeightOnly; // use only external weight
Bool_t fLimitGenJetEta; // Limit the eta of the generated jets
- Bool_t fBkgSubtraction; // flag for bckg subtraction
Short_t fNMatchJets; // number of leading jets considered from the list
- Int_t fFillCorrBkg; // flag for filling bckg response matrix
UInt_t fFilterMask; // filter bit for slecected tracks
UInt_t fEventSelectionMask; // Selection information used to filter events
Int_t fAnalysisType; // Analysis type
Float_t fMinJetPt; // limits the jet p_T in addition to what already is done in the jet finder, this is important for jet matching for JF with lo threshold
Float_t fMinTrackPt; // limits the track p_T
Float_t fDeltaPhiWindow; // minium angle between dijets
-
+ Int_t fMultRec; // ! reconstructed track multiplicity
+ Int_t fMultGen; // ! generated track multiplicity
TProfile* fh1Xsec; //! pythia cross section and trials
TH1F* fh1Trials; //! trials are added
TH1F* fh1PtHardNoW; //! Pt har of the event without weigt
TH1F* fh1PtHardTrials; //! Number of trials
TH1F* fh1ZVtx; //! z-vtx distribution
- TH1F* fh1TmpRho; //! just temporary histo for calculation
+ TH1F* fh1TmpRho; //! just temporary histo for calculation
+ TH2F* fh2MultRec; //! reconstructed track multiplicity
+ TH2F* fh2MultGen; //! generated track multiplicity
+
TH2F* fh2PtFGen; //! found vs generated
TH2F* fh2RelPtFGen; //! relative difference between generated and found
+
// Jet histos second go
TH1F* fh1NJets[kJetTypes]; //! nr of gen jets
TH1F* fh1SumPtTrack[kJetTypes]; //! sum over all track pT
- TH1F* fh1PtIn[kJetTypes][kMaxJets]; //! Jet pt
+ TH1F* fh1PtIn[kJetTypes][kMaxJets+1]; //! Jet pt
TH1F* fh1PtJetsIn[kJetTypes]; //! Jet pt for all jets
TH1F* fh1PtTracksIn[kJetTypes]; //! track pt for all tracks
TH1F* fh1PtTracksLeadingIn[kJetTypes]; //! track pt for all tracks
+ TH2F* fh2MultJetPt[kJetTypes]; //! jet pt vs. mult
TH2F* fh2NJetsPt[kJetTypes]; //! Number of found jets above threshold
TH2F* fh2NTracksPt[kJetTypes]; //! Number of tracks above threshold
- TH2F* fh2LeadingJetPtJetPhi[kJetTypes]; //! Phi distribution of accepted leading jets
TH2F* fh2LeadingTrackPtTrackPhi[kJetTypes]; //! phi distribution of accepted leading tracks
- TH2F* fh2RhoPt[kJetTypes][kMaxJets]; //! jet shape variable rho
- TH2F* fh2PsiPt[kJetTypes][kMaxJets]; //! jet shape variable psi
- TH2F* fh2PhiPt[kJetTypes][kMaxJets]; //! phi distribution correlation of jets
- TH2F* fh2EtaPt[kJetTypes][kMaxJets]; //! phi distribution correlation of jets
- TH2F* fh2PhiEta[kJetTypes][kMaxJets]; //! eta phi distribution of jet
-
+ TH2F* fh2RhoPt[kJetTypes][kMaxJets+1]; //! jet shape variable rho
+ TH2F* fh2PsiPt[kJetTypes][kMaxJets+1]; //! jet shape variable psi
+ TH2F* fh2PhiPt[kJetTypes][kMaxJets+1]; //! phi of jets
+ TH2F* fh2EtaPt[kJetTypes][kMaxJets+1]; //! eta of jets
+ TH2F* fh2AreaPt[kJetTypes][kMaxJets+1]; //! area distribution
+ TH2F* fh2EtaArea[kJetTypes][kMaxJets+1]; //! area vs eta distribution
+ TH2F* fh2PhiEta[kJetTypes][kMaxJets+1]; //! eta phi distribution of jet
TH1F* fh1DijetMinv[kJetTypes]; //! dijet inv mass
-AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec = "jets",const char* bGen = "jetsAODMC_UA104",const char* bBkg="",UInt_t filterMask = 32, Int_t iPhysicsSelectionFlag = AliVEvent::kMB,UInt_t iEventSelectionMask = 0,Bool_t kBackground=kTRUE,Int_t iFillCorrBkg = 0,Int_t iCl = 0);\r
+AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec = "jets",const char* bGen = "jetsAODMC_UA104",const char* bBkg="",UInt_t filterMask = 32, Int_t iPhysicsSelectionFlag = AliVEvent::kMB,UInt_t iEventSelectionMask = 0,Int_t iCl = 0);\r
\r
\r
-AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2Delta(UInt_t filterMask = 32,Bool_t kUseAODMC = kFALSE,Int_t iPhysicsSelectionFlag = AliVEvent::kMB,UInt_t iFlag = 0xfffffff, UInt_t iEventSelectionMask = 0,Bool_t kBackground = kTRUE,char* back = ""){\r
+AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2Delta(UInt_t filterMask = 32,Bool_t kUseAODMC = kFALSE,Int_t iPhysicsSelectionFlag = AliVEvent::kMB,UInt_t iFlag = 0xfffffff, UInt_t iEventSelectionMask = 0,char* back = ""){\r
\r
TString cBack = back;\r
\r
AliAnalysisTaskJetSpectrum2 *js = 0;\r
if(kUseAODMC){\r
if(iFlag&(1<<0)){ // UA104\r
- js = AddTaskJetSpectrum2("jets","jetsAODMC_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
- js = AddTaskJetSpectrum2("jets","jetsAODMC2_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
+ js = AddTaskJetSpectrum2("jets","jetsAODMC_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
+ js = AddTaskJetSpectrum2("jets","jetsAODMC2_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
}\r
if(iFlag&(1<<1)){ // ANTIKT 04\r
- js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
- js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC2_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
+ js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
+ js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC2_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
// cross check MC only background subtration\r
- js = AddTaskJetSpectrum2("jetsAODMC2_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
+ js = AddTaskJetSpectrum2("jetsAODMC2_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
}\r
if(iFlag&(1<<2)){ // KT 04\r
- js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask,kBackground);\r
- js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC2_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
+ js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask);\r
+ js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC2_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
}\r
if(iFlag&(1<<3)){ // SISCONE 04\r
- js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
- js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC2_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground);\r
+ js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
+ js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC2_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
}\r
// here can go other radii\r
}\r
else { // only the data ... no MC\r
if(iFlag&(1<<0)){ // UA104\r
- js = AddTaskJetSpectrum2("jets","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground,1);\r
+ js = AddTaskJetSpectrum2("jets","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,1);\r
}\r
if(iFlag&(1<<1)){ // ANTIKT 04\r
- js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground,1);\r
+ js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
}\r
if(iFlag&(1<<2)){ // KT 04\r
- js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask,kBackground,1);\r
+ js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask);\r
}\r
if(iFlag&(1<<3)){ // SISCONE 04\r
- js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,kBackground,1);\r
+ js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r
}\r
}\r
return js;\r
}\r
\r
\r
-AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec,const char* bGen ,const char* bBkg,UInt_t filterMask,Int_t iPhysicsSelectionFlag,UInt_t iEventSelectionMask,Bool_t kBackground,Int_t iFillCorrBkg,Int_t iCl)\r
+AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec,const char* bGen ,const char* bBkg,UInt_t filterMask,Int_t iPhysicsSelectionFlag,UInt_t iEventSelectionMask,Int_t iCl)\r
{\r
// Creates a jet fider task, configures it and adds it to the analysis manager.\r
// Get the pointer to the existing analysis manager via the static access method.\r
typeGen.ToUpper();\r
typeRec.ToUpper();\r
\r
- TString bBkgName = bBkg;\r
- if(kBackground&&bBkgName.Length()==0){\r
- // default\r
- if(typeRec.Contains("AODMC2"))bBkgName = "jeteventbackground_clustersAODMC2_KT06";\r
- else bBkgName = "jeteventbackground_clustersAOD_KT06";\r
- }\r
\r
// Create the task and configure it.\r
//===========================================================================\r
\r
- if(iFillCorrBkg)bGen = Form("SubBkg%d",iFillCorrBkg); \r
AliAnalysisTaskJetSpectrum2* pwg4spec = new AliAnalysisTaskJetSpectrum2(Form("JetSpectrum2%s-%s_%010d_Class%02d",bRec,bGen,iEventSelectionMask,iCl));\r
- pwg4spec->SetFillCorrBkg(iFillCorrBkg);\r
if(iCl)pwg4spec->SetEventClass(iCl);\r
\r
// add the filter mask for non default jets branches\r
cAdd += Form("_Filter%05d",filterMask);\r
\r
\r
- if(iFillCorrBkg)pwg4spec->SetBranchGen(""); \r
- else {\r
- pwg4spec->SetBranchGen(bGen); \r
- // if(typeGen.Contains("JETSAOD")&&!typeGen.Contains("MC"))pwg4spec->SetBranchGen(Form("%s%s",bGen,cAdd.Data())); \r
- }\r
+\r
+ pwg4spec->SetBranchGen(bGen); \r
+ // if(typeGen.Contains("JETSAOD")&&!typeGen.Contains("MC"))pwg4spec->SetBranchGen(Form("%s%s",bGen,cAdd.Data())); \r
+\r
pwg4spec->SetBranchRec(bRec); \r
// if(typeRec.Contains("JETSAOD")&&!typeRec.Contains("MC")) pwg4spec->SetBranchRec(Form("%s%s",bRec,cAdd.Data())); \r
\r
- if(bBkgName.Length()>0)pwg4spec->SetBranchBkg(bBkgName.Data());\r
-\r
\r
pwg4spec->SetFilterMask(filterMask); \r
pwg4spec->SetUseGlobalSelection(kTRUE); \r
pwg4spec->SetMinJetPt(5.);\r
pwg4spec->SetJetEtaWindow(0.4);\r
- pwg4spec->SetBkgSubtraction(kBackground);\r
-\r
\r
if(type == "AOD"){\r
// Assume all jet are produced already\r
Int_t iJETAN = 1; // Jet analysis (PWG4) // 1 write standard 2 write non-standard jets, 3 wrtie both
Int_t iJETSUBTRACT = 1; // Jet background subtration
TString kDefaultJetBranch = ""; // is currently set when filled (iJETAN or clusters) or from config macro
-TString kDefaultJetBackgroundBranch = ""; // is currently set when filled (jet clsuters
-TString kDefaultJetBackgroundBranch_extra = ""; // is currently set when filled (jet clsuters
+TString kDefaultJetBackgroundBranch = ""; // is currently set when filled (jet clsuters
+TString kDefaultJetBackgroundBranch_extra = ""; // is currently set when filled (jet clsuters)
TString kJetSubtractBranches = ""; // is currently set when filled (jet clsuters
TString kJetSubtractBranches_extra = ""; // is currently set when filled (jet clsuters
taskCl->SetGhostEtamax(0.9);
}
- taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,0,1,kDeltaAODJetName.Data(),0.15);
+ taskCl = AddTaskJetCluster("AOD","",kHighPtFilterMask,iPhysicsSelectionFlag,"ANTIKT",0.4,2,1,kDeltaAODJetName.Data(),0.15);
taskCl->SetCentralityCut(fCenLo,fCenUp);
if(kIsPbPb)taskCl->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data());
taskCl->SetNRandomCones(10);
- taskCl->SetNSkipLeadingRan(2);
kDefaultJetBranch = taskCl->GetJetOutputBranch();
if(kDeltaAODJetName.Length()==0&&kFilterAOD){
if(kIsPbPb)taskCl->SetJetTriggerPtCut(40.);
}
}
- if(iJETSUBTRACT){
- gROOT->LoadMacro("$ALICE_ROOT_SRC/PWG4/macros/AddTaskJetBackgroundSubtract.C");
- AliAnalysisTaskJetBackgroundSubtract *taskSubtract = 0;
- if(kJetSubtractBranches.Length()){
-
- taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches,3,kJetSubtractMask1.Data(),kJetSubtractMask2.Data());
- taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data());
- if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
-
- taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches,2,kJetSubtractMask1.Data(),kJetSubtractMask2.Data());
- taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data()); taskSubtract->SelectCollisionCandidates(iPhysicsSelectionFlag);
- if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
- // taskSubtract->SetDebugLevel(3);
+ if(iJETSUBTRACT){
+ gROOT->LoadMacro("$ALICE_ROOT_SRC/PWG4/macros/AddTaskJetBackgroundSubtract.C");
+ AliAnalysisTaskJetBackgroundSubtract *taskSubtract = 0;
+ if(kJetSubtractBranches.Length()){
- taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches,1,kJetSubtractMask1.Data(),kJetSubtractMask2.Data());
- taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data()); taskSubtract->SelectCollisionCandidates(iPhysicsSelectionFlag);
- if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
+ taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches,3,kJetSubtractMask1.Data(),kJetSubtractMask2.Data());
+ taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data());
+ if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
- if(kJetSubtractBranches.Contains(kDefaultJetBranch.Data())&&kIsPbPb){
- kDefaultJetBranch.ReplaceAll(taskSubtract->GetToReplace(),Form(taskSubtract->GetReplacementMask(),taskSubtract->GetSubtractionMethod()));
- }
- }
- if(kJetSubtractBranches_extra.Length()){
- taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches_extra,1,kJetSubtractMask1.Data(),kJetSubtractMask2.Data(),"extra");
- taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch_extra.Data());
- taskSubtract->SelectCollisionCandidates(iPhysicsSelectionFlag);
- //taskSubtract->SetDebugLevel(3);
- if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
- if(kJetSubtractBranches_extra.Contains(kDefaultJetBranch.Data())){
- kDefaultJetBranch.ReplaceAll(taskSubtract->GetToReplace(),Form(taskSubtract->GetReplacementMask(),taskSubtract->GetSubtractionMethod()));
- }
- }
- if (!taskSubtract) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskJetBackgroundSubtrac cannot run for this train conditions - EXCLUDED");
+ taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches,2,kJetSubtractMask1.Data(),kJetSubtractMask2.Data());
+ taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data()); taskSubtract->SelectCollisionCandidates(iPhysicsSelectionFlag);
+ if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
+
+ // taskSubtract->SetDebugLevel(3);
+
+ taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches,1,kJetSubtractMask1.Data(),kJetSubtractMask2.Data());
+ taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch.Data()); taskSubtract->SelectCollisionCandidates(iPhysicsSelectionFlag);
+ if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
+
+ if(kJetSubtractBranches.Contains(kDefaultJetBranch.Data())&&kIsPbPb){
+ kDefaultJetBranch.ReplaceAll(taskSubtract->GetToReplace(),Form(taskSubtract->GetReplacementMask(),taskSubtract->GetSubtractionMethod()));
+ }
+ }
+ if(kJetSubtractBranches_extra.Length()){
+ taskSubtract = AddTaskJetBackgroundSubtract(kJetSubtractBranches_extra,1,kJetSubtractMask1.Data(),kJetSubtractMask2.Data(),"extra");
+ taskSubtract->SetBackgroundBranch(kDefaultJetBackgroundBranch_extra.Data());
+ taskSubtract->SelectCollisionCandidates(iPhysicsSelectionFlag);
+ //taskSubtract->SetDebugLevel(3);
+ if(kDeltaAODJetName.Length()>0)taskSubtract->SetNonStdOutputFile(kDeltaAODJetName.Data());
+ if(kJetSubtractBranches_extra.Contains(kDefaultJetBranch.Data())){
+ kDefaultJetBranch.ReplaceAll(taskSubtract->GetToReplace(),Form(taskSubtract->GetReplacementMask(),taskSubtract->GetSubtractionMethod()));
+ }
+ }
+ if (!taskSubtract) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskJetBackgroundSubtrac cannot run for this train conditions - EXCLUDED");
}
if (iDIJETAN) {
}
}
- if(iPWG4JetSpectrum){
+if(iPWG4JetSpectrum){
gROOT->LoadMacro("$ALICE_ROOT_SRC/PWG4/macros/AddTaskJetSpectrum2.C");
AliAnalysisTaskJetSpectrum2 *taskjetSpectrum = 0;
if(iPWG4JetSpectrum&1){
// tmp.ReplaceAll(Form(kJetSubtractMask2.Data(),1),kJetSubtractMask1.Data());
// tmp.ReplaceAll(Form(kJetSubtractMask2.Data(),1),kJetSubtractMask1.Data());
tmp.ReplaceAll(Form(kJetSubtractMask2.Data(),1),Form(kJetSubtractMask1.Data(),0));
- taskjetSpectrum = AddTaskJetSpectrum2(kDefaultJetBranch.Data(),tmp.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,kFALSE,0,i);
+
+ TString bkgClusters = kDefaultJetBackgroundBranch.Data();
+ bkgClusters.ReplaceAll(Form("%s_",AliAODJetEventBackground::StdBranchName()),"");
+ taskjetSpectrum = AddTaskJetSpectrum2(kDefaultJetBranch.Data(),tmp.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,i);
+ taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
+
// taskjetSpectrum->SetDebugLevel(3);
// taskjetSpectrum->SetMinJetPt(10);
taskjetSpectrum->SetTrackEtaWindow(0.8);
// check the old subtracted vs. the new subtracted
TString tmp2(kDefaultJetBranch.Data());
tmp2.ReplaceAll(Form(kJetSubtractMask2.Data(),1),Form(kJetSubtractMask2.Data(),2));
- taskjetSpectrum = AddTaskJetSpectrum2(tmp2.Data(),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,kFALSE,0,i);
+ taskjetSpectrum = AddTaskJetSpectrum2(tmp2.Data(),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,i);
+ taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
// taskjetSpectrum->SetDebugLevel(3);
// taskjetSpectrum->SetMinJetPt(10);
taskjetSpectrum->SetTrackEtaWindow(0.8);
TString tmp3(kDefaultJetBranch.Data());
tmp3.ReplaceAll(Form(kJetSubtractMask2.Data(),1),Form(kJetSubtractMask2.Data(),3));
- taskjetSpectrum = AddTaskJetSpectrum2(tmp3.Data(),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,kFALSE,0,i);
+ taskjetSpectrum = AddTaskJetSpectrum2(tmp3.Data(),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,i);
// taskjetSpectrum->SetDebugLevel(3);
// taskjetSpectrum->SetMinJetPt(10);
+ taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
taskjetSpectrum->SetTrackEtaWindow(0.8);
taskjetSpectrum->SetJetEtaWindow(0.4);
if(iAODanalysis)SetAODInput(taskjetSpectrum);
- taskjetSpectrum = AddTaskJetSpectrum2(Form("jetsAOD_UA104_B2_Filter%05d_Cut01000",kHighPtFilterMask),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,kFALSE,0,i);
+ taskjetSpectrum = AddTaskJetSpectrum2(Form("jetsAOD_UA104_B2_Filter%05d_Cut01000",kHighPtFilterMask),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,i);
// taskjetSpectrum->SetDebugLevel(3);
// taskjetSpectrum->SetMinJetPt(10);
taskjetSpectrum->SetTrackEtaWindow(0.8);
taskjetSpectrum->SetJetEtaWindow(0.4);
+ taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
if(iAODanalysis)SetAODInput(taskjetSpectrum);
}
// taskjetSpectrum->SetMinJetPt(10);
taskjetSpectrum->SetTrackEtaWindow(0.8);
taskjetSpectrum->SetJetEtaWindow(0.4);
+ taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
if(iAODanalysis)SetAODInput(taskjetSpectrum);
taskjetSpectrum = AddTaskJetSpectrum2(tmp2.Data(),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,kFALSE,0,i);
// taskjetSpectrum->SetDebugLevel(3);
// taskjetSpectrum->SetMinJetPt(10);
- taskjetSpectrum->SetTrackEtaWindow(0.8);
+ taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
+x taskjetSpectrum->SetTrackEtaWindow(0.8);
taskjetSpectrum->SetJetEtaWindow(0.4);
// check the old subtracted vs. the new subtracted
taskjetSpectrum = AddTaskJetSpectrum2(tmp3.Data(),kDefaultJetBranch.Data(),"",kHighPtFilterMask,AliVEvent::kMB,0,kFALSE,0,i);
// taskjetSpectrum->SetDebugLevel(3);
// taskjetSpectrum->SetMinJetPt(10);
+ taskjetSpectrum->SetBranchBkgRec(bkgClusters.Data());
+ taskjetSpectrum->SetBranchBkgGen(bkgClusters.Data());
taskjetSpectrum->SetTrackEtaWindow(0.8);
taskjetSpectrum->SetJetEtaWindow(0.4);
if(iAODanalysis)SetAODInput(taskjetSpectrum);
TString line;
ifstream in;
in.open(kLocalDataList.Data());
+ Int_t ic = 0;
while (in.good()) {
in >> line;
if (line.Length() == 0) continue;
- // cout << " line = " << line << endl;
+ Printf("%d adding %s",ic,line.Data());
chain->Add(line.Data());
+ ic++;
}
} else {
// Interactive AOD