fh1PtHardNoW(0x0),
fh1PtHardTrials(0x0),
fh1ZVtx(0x0),
- fh1NGenJets(0x0),
- fh1NRecJets(0x0),
- fh1PtTrackRec(0x0),
- fh1SumPtTrackRec(0x0),
- fh1SumPtTrackAreaRec(0x0),
fh1TmpRho(0x0),
- fh1PtJetsRecIn(0x0),
- fh1PtJetsGenIn(0x0),
- fh1PtJetsLeadingRecIn(0x0),
- fh1PtTracksRecIn(0x0),
- fh1PtTracksLeadingRecIn(0x0),
- fh1PtTracksGenIn(0x0),
- fh2NRecJetsPt(0x0),
- fh2NRecTracksPt(0x0),
- fh2NGenJetsPt(0x0),
- fh2NGenTracksPt(0x0),
fh2PtFGen(0x0),
fh2RelPtFGen(0x0),
- fh1Bkg1(0x0),
- fh1Bkg2(0x0),
- fh1Bkg3(0x0),
- fh1Sigma1(0x0),
- fh1Sigma2(0x0),
- fh1Sigma3(0x0),
- fh1Area1(0x0),
- fh1Area2(0x0),
- fh1Area3(0x0),
- fh1Ptjet(0x0),
- fh1Ptjetsub1(0x0),
- fh1Ptjetsub2(0x0),
- fh1Ptjetsub3(0x0),
- fh1Ptjethardest(0x0),
- fh1Ptjetsubhardest1(0x0),
- fh1Ptjetsubhardest2(0x0),
- fh1Ptjetsubhardest3(0x0),
- fh2Rhovspthardest1(0x0),
- fh2Rhovspthardest2(0x0),
- fh2Rhovspthardest3(0x0),
- fh2Errorvspthardest1(0x0),
- fh2Errorvspthardest2(0x0),
- fh2Errorvspthardest3(0x0),
fHistList(0x0)
{
for(int i = 0;i < kMaxStep*2;++i){
fhnJetContainer[i] = 0;
}
- for(int i = 0;i < kMaxJets;++i){
- fh1PtRecIn[i] = fh1PtGenIn[i] = 0;
-
- fh2RhoPtRec[i] = 0;
- fh2RhoPtGen[i] = 0;
- fh2PsiPtGen[i] = 0;
- fh2PsiPtRec[i] = 0;
- fh2FragRec[i] = 0;
- fh2FragLnRec[i] = 0;
- fh2FragGen[i] = 0;
- fh2FragLnGen[i] = 0;
- }
-
for(int ij = 0;ij <kJetTypes;++ij){
fh1NJets[ij] = 0;
fh1PtHardNoW(0x0),
fh1PtHardTrials(0x0),
fh1ZVtx(0x0),
- fh1NGenJets(0x0),
- fh1NRecJets(0x0),
- fh1PtTrackRec(0x0),
- fh1SumPtTrackRec(0x0),
- fh1SumPtTrackAreaRec(0x0),
fh1TmpRho(0x0),
- fh1PtJetsRecIn(0x0),
- fh1PtJetsGenIn(0x0),
- fh1PtJetsLeadingRecIn(0x0),
- fh1PtTracksRecIn(0x0),
- fh1PtTracksLeadingRecIn(0x0),
- fh1PtTracksGenIn(0x0),
- fh2NRecJetsPt(0x0),
- fh2NRecTracksPt(0x0),
- fh2NGenJetsPt(0x0),
- fh2NGenTracksPt(0x0),
fh2PtFGen(0x0),
fh2RelPtFGen(0x0),
- fh1Bkg1(0x0),
- fh1Bkg2(0x0),
- fh1Bkg3(0x0),
- fh1Sigma1(0x0),
- fh1Sigma2(0x0),
- fh1Sigma3(0x0),
- fh1Area1(0x0),
- fh1Area2(0x0),
- fh1Area3(0x0),
- fh1Ptjet(0x0),
- fh1Ptjetsub1(0x0),
- fh1Ptjetsub2(0x0),
- fh1Ptjetsub3(0x0),
- fh1Ptjethardest(0x0),
- fh1Ptjetsubhardest1(0x0),
- fh1Ptjetsubhardest2(0x0),
- fh1Ptjetsubhardest3(0x0),
- fh2Rhovspthardest1(0x0),
- fh2Rhovspthardest2(0x0),
- fh2Rhovspthardest3(0x0),
- fh2Errorvspthardest1(0x0),
- fh2Errorvspthardest2(0x0),
- fh2Errorvspthardest3(0x0),
fHistList(0x0)
{
for(int i = 0;i < kMaxStep*2;++i){
fhnJetContainer[i] = 0;
}
- for(int i = 0;i < kMaxJets;++i){
- fh1PtRecIn[i] = fh1PtGenIn[i] = 0;
-
- fh2RhoPtRec[i] = 0;
- fh2RhoPtGen[i] = 0;
- fh2PsiPtGen[i] = 0;
- fh2PsiPtRec[i] = 0;
- fh2FragRec[i] = 0;
- fh2FragLnRec[i] = 0;
- fh2FragGen[i] = 0;
- fh2FragLnGen[i] = 0;
- }
for(int ij = 0;ij <kJetTypes;++ij){
fh1NJets[ij] = 0;
// Connect the AOD
-
-
-
-
if (fDebug > 1) printf("AnalysisTaskJetSpectrum2::UserCreateOutputObjects() \n");
OpenFile(1);
cAdd = "Gen";
cJetBranch = fBranchGen.Data();
}
+ else if (ij==kJetRecFull){
+ cAdd = "RecFull";
+ cJetBranch = fBranchRec.Data();
+ }
+ else if (ij==kJetGenFull){
+ cAdd = "GenFull";
+ cJetBranch = fBranchGen.Data();
+ }
fh1NJets[ij] =new TH1F(Form("fh1N%sJets",cAdd.Data()),Form("N %s jets",cAdd.Data()),50,-0.5,49.5);
fHistList->Add(fh1NJets[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,50,-0.5,49.5);
+ 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()),
fh1ZVtx->Fill(aod->GetPrimaryVertex()->GetZ());
}
+
+
+
// the loops for rec and gen should be indentical... pass it to a separate
// function ...
// Jet Loop
// Jet Track loop
FillJetHistos(recJetsListCut,recParticles,kJetRec);
+ FillJetHistos(recJetsList,recParticles,kJetRecFull);
FillTrackHistos(recParticles,kJetRec);
FillJetHistos(genJetsListCut,genParticles,kJetGen);
+ FillJetHistos(genJetsList,genParticles,kJetGenFull);
FillTrackHistos(genParticles,kJetGen);
// Here follows the jet matching part
fh1TmpRho->Reset();
fh1PtIn[iType][ij]->Fill(ptJet);
// fill leading jets...
- fh2PhiEta[iType][ij]->Fill(phiJet,etaJet);
+ if(ptJet>10)fh2PhiEta[iType][ij]->Fill(phiJet,etaJet);
fh2PhiPt[iType][ij]->Fill(phiJet,ptJet);
- if(ptJet>10)fh2EtaPt[iType][ij]->Fill(etaJet,ptJet);
+ fh2EtaPt[iType][ij]->Fill(etaJet,ptJet);
if(ij==0){
fh2LeadingJetPtJetPhi[iType]->Fill(ptJet,phiJet);
if(ij==0&&iType==0&&fDebug>1){
// tr->Dump();
AliESDEvent *fESD = dynamic_cast<AliESDEvent*> (InputEvent());
if(fESD){
- AliESDtrack *esdTr = (AliESDtrack*)fESD->GetTrack(tr->GetID());
+ AliESDtrack *esdTr = (AliESDtrack*)fESD->GetTrack(TMath::Abs(tr->GetID()+1));
esdTr->Print("");
// esdTr->Dump();
}
enum {kTrackUndef = 0, kTrackAOD, kTrackKineAll,kTrackKineCharged, kTrackAODMCAll, kTrackAODMCCharged, kTrackAODMCChargedAcceptance};
enum {kAnaMC = 0x1, kAnaMCESD = 0x2};
enum {kMaxJets = 4};
- enum {kJetRec = 0, kJetGen, kJetTypes}; //
+ enum {kJetRec = 0, kJetGen, kJetRecFull, kJetGenFull, kJetTypes}; //
enum {kMaxCorrelation = 3};
//
TH1F* fh1PtHardNoW; //! Pt har of the event without weigt
TH1F* fh1PtHardTrials; //! Number of trials
TH1F* fh1ZVtx; //! z-vtx distribution
- TH1F* fh1NGenJets; //! nr of gen jets
- TH1F* fh1NRecJets; //! nr of rec jets
- TH1F* fh1PtTrackRec; //! track pt
- TH1F* fh1SumPtTrackRec; //! sum over all track pT
- TH1F* fh1SumPtTrackAreaRec; //! sum over all track pT
- TH1F* fh1TmpRho; //! just temporary histo for calculation
-
-
- TH1F* fh1PtRecIn[kMaxJets]; //! Jet pt for all this info is also in the THNsparse
- TH1F* fh1PtGenIn[kMaxJets]; //! Jet pt with corellated generated jet
-
- TH1F* fh1PtJetsRecIn; //! Jet pt for all jets
- TH1F* fh1PtJetsGenIn; //! Jet pt for all jets
- TH1F* fh1PtJetsLeadingRecIn; //! Jet pt for all jets
- TH1F* fh1PtTracksRecIn; //! track pt for all tracks
- TH1F* fh1PtTracksLeadingRecIn; //! track pt for all tracks
- TH1F* fh1PtTracksGenIn; //! track pt for all tracks
-
-
- TH2F* fh2NRecJetsPt; //! Number of found jets above threshold
- TH2F* fh2NRecTracksPt; //! Number of found tracks above threshold
- TH2F* fh2NGenJetsPt; //! Number of found jets above threshold
- TH2F* fh2NGenTracksPt; //! Number of found tracks above threshold
+ TH1F* fh1TmpRho; //! just temporary histo for calculation
TH2F* fh2PtFGen; //! found vs generated
TH2F* fh2RelPtFGen; //! relative difference between generated and found
- TH2F* fh2RhoPtRec[kMaxJets]; //! jet shape variable rho
- TH2F* fh2PsiPtRec[kMaxJets]; //! jet shape variable psi
- TH2F* fh2RhoPtGen[kMaxJets]; //!
- TH2F* fh2PsiPtGen[kMaxJets]; //!
- TH2F* fh2FragRec[kMaxJets]; //! fragmentation function
- TH2F* fh2FragLnRec[kMaxJets]; //! fragmetation in xi
- TH2F* fh2FragGen[kMaxJets]; //! fragmentation function
- TH2F* fh2FragLnGen[kMaxJets]; //! fragmetation in xi
-
-
// Jet histos second go
TH1F* fh1PtTracksLeadingIn[kJetTypes]; //! track pt for all tracks
TH2F* fh2NJetsPt[kJetTypes]; //! Number of found jets above threshold
- TH2F* fh2NTracksPt[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* fh2DijetPt2vsPt1[kJetTypes]; //! dijet pt2 vs pt1
TH2F* fh2DijetDifvsSum[kJetTypes]; //! dijet dif vs sum
- //background histos
-
- TH1F* fh1Bkg1; //! background estimate, all jets
- TH1F* fh1Bkg2; //! background estimate, wo 2 hardest jet
- TH1F* fh1Bkg3; //! background estimate, random jets
- TH1F* fh1Sigma1; //! background fluctuations, all jets
- TH1F* fh1Sigma2; //! background fluctuations, wo hardest jet
- TH1F* fh1Sigma3; //! background fluctuations,random jets
- TH1F* fh1Area1; //! average background jet area, all jets
- TH1F* fh1Area2; //! average background jet area, wo 2 hardest jet
- TH1F* fh1Area3; //! average background jet area, random jets
- TH1F* fh1Ptjet; //! rec jet spectrum
- TH1F* fh1Ptjetsub1;//! subtracted jet spectrum (Bkg1)
- TH1F* fh1Ptjetsub2; //! subtracted jet spectrum (Bkg2)
- TH1F* fh1Ptjetsub3; //! subtracted jet spectrum (Bkg3)
- TH1F* fh1Ptjethardest; //! rec hardest jet spectrum
- TH1F* fh1Ptjetsubhardest1;//! subtracted hardest jet spectrum (Bkg1)
- TH1F* fh1Ptjetsubhardest2;//! subtracted hardest jet spectrum (Bkg2)
- TH1F* fh1Ptjetsubhardest3;//! subtracted hardest jet spectrum (Bkg3)
- TH2F* fh2Rhovspthardest1;//! rho vs hardest subtracted jet pt (Bkg1)
- TH2F* fh2Rhovspthardest2;//! rho vs hardest subtracted jet pt (Bkg2)
- TH2F* fh2Rhovspthardest3;//! rho vs hardest subtracted jet pt (Bkg3)
- TH2F* fh2Errorvspthardest1;//! relative error vs hardest subtracted jet pt (Bkg1)
- TH2F* fh2Errorvspthardest2;//! relative error vs hardest subtracted jet pt (Bkg2)
- TH2F* fh2Errorvspthardest3;//! relative error vs hardest subtracted jet pt (Bkg3)
TList *fHistList; //! Output list
- ClassDef(AliAnalysisTaskJetSpectrum2, 11) // Analysis task for standard jet analysis
+ ClassDef(AliAnalysisTaskJetSpectrum2, 12) // Analysis task for standard jet analysis
};
#endif