fhImpactXY(0),fhRefMult(0),fhRefMult2(0),\r
//matching checks\r
fh3pOverE(0),fh3EOverp(0),fh3pOverE2(0),fh3EOverp2(0),fh3pOverE3(0),fh3EOverp3(0),\r
+ fh2pOverE(0),fh2EOverp(0),fh2pOverE2(0),fh2EOverp2(0),\r
fh1dR(0),fh2EledEdx(0),fh2MatchdEdx(0),fh2dEtadPhi(0),\r
fh2dEtadPhiMatched(0),fh2dEtadPhiUnmatched(0),fh2TrackPVsClusterE(0),\r
fh2TrackPtVsClusterE(0),fh2TrackPhiVsClusterPhi(0),fh2TrackEtaVsClusterEta(0),\r
fhIPSigBtagQA1(0),fhIPSigBtagQA2(0),fhTagJetPt1x4(0),fhTagJetPt2x3(0),fhTagJetPt3x2(0),\r
fhePlusTagJetPt1x4(0),fhePlusTagJetPt2x3(0),fhePlusTagJetPt3x2(0),\r
//B-Jet histograms\r
- fhJetType(0),fhBJetXsiFF(0),fhBJetPtFF(0),fhBJetEtaPhi(0),\r
+ fhJetType(0),fhLeadJetType(0),fhBJetXsiFF(0),fhBJetPtFF(0),fhBJetEtaPhi(0),\r
fhNonBJetXsiFF(0),fhNonBJetPtFF(0),fhNonBJetEtaPhi(0),\r
/////////////////////////////////////////////////////////////\r
//Histograms that rely on MC info (not filled for real data)\r
//reco electrons from various sources\r
fhPhiConversion(0),fhEtaConversion(0),\r
//for comparisons with tracking detectors\r
- fhPtHadron(0),fhPtNPEleTPC(0),fhPtNPEleTPCTRD(0),fhPtNPEleTTE(0),\r
+ fhPtTrack(0),fhPtHadron(0),fhPtNPEleTPC(0),fhPtNPEleTPCTRD(0),fhPtNPEleTTE(0),\r
fhPtNPEleEMCAL(0),fhPtNPEBHadron(0),\r
//for computing efficiency of B-jet tags\r
fhBJetPt1x4(0),fhBJetPt2x3(0),fhBJetPt3x2(0),\r
fh3pOverE(g.fh3pOverE),fh3EOverp(g.fh3EOverp),\r
fh3pOverE2(g.fh3pOverE2),fh3EOverp2(g.fh3EOverp2),\r
fh3pOverE3(g.fh3pOverE3),fh3EOverp3(g.fh3EOverp3),\r
+ fh2pOverE(g.fh2pOverE),fh2EOverp(g.fh2EOverp),\r
+ fh2pOverE2(g.fh2pOverE2),fh2EOverp2(g.fh2EOverp2),\r
fh1dR(g.fh1dR),fh2EledEdx(g.fh2EledEdx),\r
fh2MatchdEdx(g.fh2MatchdEdx),fh2dEtadPhi(g.fh2dEtadPhi),\r
fh2dEtadPhiMatched(g.fh2dEtadPhiMatched),fh2dEtadPhiUnmatched(g.fh2dEtadPhiUnmatched),\r
fhePlusTagJetPt1x4(g.fhePlusTagJetPt1x4),fhePlusTagJetPt2x3(g.fhePlusTagJetPt2x3),\r
fhePlusTagJetPt3x2(g.fhePlusTagJetPt3x2),\r
//B-Jet histograms\r
- fhJetType(g.fhJetType),fhBJetXsiFF(g.fhBJetXsiFF),fhBJetPtFF(g.fhBJetPtFF),\r
- fhBJetEtaPhi(g.fhBJetEtaPhi),fhNonBJetXsiFF(g.fhNonBJetXsiFF),fhNonBJetPtFF(g.fhNonBJetPtFF),\r
- fhNonBJetEtaPhi(g.fhNonBJetEtaPhi),\r
+ fhJetType(g.fhJetType),fhLeadJetType(g.fhLeadJetType),fhBJetXsiFF(g.fhBJetXsiFF),\r
+ fhBJetPtFF(g.fhBJetPtFF),fhBJetEtaPhi(g.fhBJetEtaPhi),fhNonBJetXsiFF(g.fhNonBJetXsiFF),\r
+ fhNonBJetPtFF(g.fhNonBJetPtFF),fhNonBJetEtaPhi(g.fhNonBJetEtaPhi),\r
/////////////////////////////////////////////////////////////\r
//Histograms that rely on MC info (not filled for real data)\r
fEleNtuple(g.fEleNtuple),\r
//reco electrons from various sources\r
fhPhiConversion(g.fhPhiConversion),fhEtaConversion(g.fhEtaConversion),\r
//for comparisons with tracking detectors\r
- fhPtHadron(g.fhPtHadron),fhPtNPEleTPC(g.fhPtNPEleTPC),\r
+ fhPtTrack(g.fhPtTrack),fhPtHadron(g.fhPtHadron),fhPtNPEleTPC(g.fhPtNPEleTPC),\r
fhPtNPEleTPCTRD(g.fhPtNPEleTPCTRD),fhPtNPEleTTE(g.fhPtNPEleTTE),\r
fhPtNPEleEMCAL(g.fhPtNPEleEMCAL),fhPtNPEBHadron(g.fhPtNPEBHadron),\r
//for computing efficiency of B-jet tags\r
fh3EOverp2 = g.fh3EOverp2;\r
fh3pOverE3 = g.fh3pOverE3;\r
fh3EOverp3 = g.fh3EOverp3;\r
+ fh2pOverE = g.fh2pOverE;\r
+ fh2EOverp = g.fh2EOverp;\r
+ fh2pOverE2 = g.fh2pOverE2;\r
+ fh2EOverp2 = g.fh2EOverp2;\r
fh1dR = g.fh1dR;\r
fh2EledEdx = g.fh2EledEdx;\r
fh2MatchdEdx = g.fh2MatchdEdx;\r
fhePlusTagJetPt3x2 = g.fhePlusTagJetPt3x2; \r
//B-Jet histograms\r
fhJetType = g.fhJetType; \r
+ fhLeadJetType = g.fhLeadJetType; \r
fhBJetXsiFF = g.fhBJetXsiFF; \r
fhBJetPtFF = g.fhBJetPtFF; \r
fhBJetEtaPhi = g.fhBJetEtaPhi; \r
fhPhiConversion = g.fhPhiConversion; \r
fhEtaConversion = g.fhEtaConversion;\r
//for comparisons with tracking detectors\r
+ fhPtTrack = g.fhPtTrack;\r
fhPtHadron = g.fhPtHadron; fhPtNPEleTPC = g.fhPtNPEleTPC; \r
fhPtNPEleTPCTRD = g.fhPtNPEleTPCTRD; fhPtNPEleTTE = g.fhPtNPEleTTE; \r
fhPtNPEleEMCAL = g.fhPtNPEleEMCAL; fhPtNPEBHadron = g.fhPtNPEBHadron;\r
\r
//event QA\r
fhImpactXY = new TH1F("hImpactXY","Impact parameter for all tracks",200,-10,10.);\r
- fhRefMult = new TH1F("hRefMult" ,"refmult QA: " ,100,0,200);\r
- fhRefMult2 = new TH1F("hRefMult2" ,"refmult2 QA: " ,100,0,200);\r
+ fhRefMult = new TH1F("hRefMult" ,"refmult QA: " ,5000,0,5000);\r
+ fhRefMult2 = new TH1F("hRefMult2" ,"refmult2 QA: " ,5000,0,5000);\r
\r
outputContainer->Add(fhImpactXY);\r
outputContainer->Add(fhRefMult);\r
fh3EOverp2 = new TH3F("h3EOverp_Trk","EMCAL-TRACK matches E/p",nptbins,ptmin,ptmax,200,0.,5. ,30,0,30);\r
fh3pOverE3 = new TH3F("h3pOverE_Tpc","EMCAL-TRACK matches p/E",nptbins,ptmin,ptmax,200,0.,10.,30,0,30);\r
fh3EOverp3 = new TH3F("h3EOverp_Tpc","EMCAL-TRACK matches E/p",nptbins,ptmin,ptmax,200,0.,5. ,30,0,30);\r
+ fh2pOverE = new TH2F("h2pOverE" ,"EMCAL-TRACK matches p/E",nptbins,ptmin,ptmax,200,0.,10.);\r
+ fh2EOverp = new TH2F("h2EOverp" ,"EMCAL-TRACK matches E/p",nptbins,ptmin,ptmax,200,0.,5. );\r
+ fh2pOverE2 = new TH2F("h2pOverE_Trk","EMCAL-TRACK matches p/E",nptbins,ptmin,ptmax,200,0.,10.);\r
+ fh2EOverp2 = new TH2F("h2EOverp_Trk","EMCAL-TRACK matches E/p",nptbins,ptmin,ptmax,200,0.,5. );\r
\r
fh1dR = new TH1F("h1dR","EMCAL-TRACK matches dR",300, 0.,TMath::Pi());\r
fh2EledEdx = new TH2F("h2EledEdx","dE/dx vs. p for electrons",200,0.,50.,200,0.,400.);\r
outputContainer->Add(fh3EOverp2) ;\r
outputContainer->Add(fh3pOverE3) ;\r
outputContainer->Add(fh3EOverp3) ;\r
+ outputContainer->Add(fh2pOverE) ;\r
+ outputContainer->Add(fh2EOverp) ;\r
+ outputContainer->Add(fh2pOverE2) ;\r
+ outputContainer->Add(fh2EOverp2) ;\r
outputContainer->Add(fh1dR) ; \r
outputContainer->Add(fh2EledEdx) ;\r
outputContainer->Add(fh2MatchdEdx) ;\r
outputContainer->Add(fhePlusTagJetPt3x2);\r
\r
//B-Jet histograms\r
- fhJetType = new TH2F("hJetType","# jets passing each tag method vs jet pt",10,0,10,300,0.,300.);\r
+ fhJetType = new TH2F("hJetType","# jets passing each tag method vs jet pt",15,0,15,300,0.,300.);\r
+ fhLeadJetType = new TH2F("hLeadJetType","# leading jets passing each tag method vs jet pt",15,0,15,300,0.,300.);\r
fhBJetXsiFF = new TH2F("hBJetXsiFF","B-jet #Xsi Frag. Fn.",100,0.,10.,300,0.,300.);\r
fhBJetPtFF = new TH2F("hBJetPtFF","B-jet p_{T} Frag. Fn.",nptbins,ptmin,ptmax,300,0.,300.);\r
fhBJetEtaPhi = new TH2F("hBJetEtaPhi","B-jet eta-phi distribution",netabins,etamin,etamax,nphibins,phimin,phimax);\r
fhNonBJetEtaPhi = new TH2F("hNonBJetEtaPhi","Non B-jet eta-phi distribution",netabins,etamin,etamax,nphibins,phimin,phimax);\r
\r
outputContainer->Add(fhJetType);\r
+ outputContainer->Add(fhLeadJetType);\r
outputContainer->Add(fhBJetXsiFF);\r
outputContainer->Add(fhBJetPtFF);\r
outputContainer->Add(fhBJetEtaPhi);\r
//4 - conversion, 5 - Dalitz, 6 - W and Z, 7 - junk/unknown, 8 - misidentified\r
\r
//histograms for comparison to tracking detectors\r
+ fhPtTrack = new TH2F("hPtTrack","Track w/in EMCAL acceptance",nptbins,ptmin,ptmax,10,0,10);\r
fhPtHadron = new TH2F("hPtHadron","Charged hadrons w/in EMCAL acceptance",nptbins,ptmin,ptmax,10,0,10);\r
fhPtNPEleTPC = new TH2F("hPtNPEleTPC","Non-phot. Electrons identified by TPC w/in EMCAL acceptance",nptbins,ptmin,ptmax,10,0,10);\r
fhPtNPEleTPCTRD = new TH2F("hPtNPEleTPCTRD","Non-phot. Electrons identified by TPC+TRD w/in EMCAL acceptance",nptbins,ptmin,ptmax,10,0,10);\r
fhPtNPEleEMCAL = new TH2F("hPtNPEleEMCAL","Non-phot. Electrons identified by EMCAL w/in EMCAL acceptance",nptbins,ptmin,ptmax,10,0,10);\r
fhPtNPEBHadron = new TH2F("hPtNPEBHadron","Non-phot. b-electrons (TPC+TRD+EMCAL) vs B-hadron pt w/in EMCAL acceptance",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);\r
\r
+ outputContainer->Add(fhPtTrack);\r
outputContainer->Add(fhPtHadron);\r
outputContainer->Add(fhPtNPEleTPC);\r
outputContainer->Add(fhPtNPEleTPCTRD);\r
if(trkChgHad) fhPtHadron->Fill(track->Pt(),GetMCSource(tmctag));\r
if(tpcEle && !photonic) fhPtNPEleTPC->Fill(track->Pt(),GetMCSource(tmctag));\r
if(trkEle && !photonic) fhPtNPEleTPCTRD->Fill(track->Pt(),GetMCSource(tmctag));\r
+ fhPtTrack->Fill(track->Pt(),GetMCSource(tmctag));\r
}\r
\r
Bool_t emcEle = kFALSE; \r
fh3pOverE3->Fill(minPt,minPe ,minMult);\r
fh3EOverp3->Fill(minPt,minEp ,minMult);\r
}\r
- \r
+ //new\r
+ if (tmctag>-1 && GetMCSource(tmctag)<8 ) {\r
+ fh2pOverE->Fill(minPt,minPe );\r
+ fh2EOverp->Fill(minPt,minEp );\r
+ if (trkEle) {\r
+ fh2pOverE2->Fill(minPt,minPe );\r
+ fh2EOverp2->Fill(minPt,minEp );\r
+ }\r
+ }\r
+\r
//////////////////////////////\r
//Electron cuts happen here!//\r
//////////////////////////////\r
//For DVM jet tag, we will look for DVM electrons\r
//For IPSig, we compute the IPSig for all tracks and if the\r
//number passing is above the cut, it passes\r
+ Bool_t leadJet = kFALSE;\r
+ if (ijet==0) leadJet= kTRUE;\r
Bool_t eJet = kFALSE; \r
+ Bool_t eJet2 = kFALSE; //electron triggered\r
+ Bool_t hadJet = kFALSE; //hadron triggered \r
Bool_t dvmJet = kFALSE; \r
Bool_t ipsigJet = kFALSE;\r
TRefArray* rt = jet->GetRefTracks();\r
if( GetIPSignificance(jetTrack, jet->Phi()) > 2.) trackCounter[3]++;\r
Bool_t isNPE = CheckTrack(jetTrack,"NPE");\r
if(isNPE) eJet = kTRUE;\r
+ if ( isNPE && jetTrack->Pt()>10.0 ) eJet2 =kTRUE;\r
+ if (!isNPE && jetTrack->Pt()>10.0) hadJet =kTRUE;\r
Bool_t isDVM = CheckTrack(jetTrack,"DVM");\r
if(isDVM) dvmJet = kTRUE;\r
}\r
if(isTrueDjet && !isTrueBjet && !dvmJet) fhDVMJet->Fill(5.,jet->Pt()); // charm -not tagged\r
if(!(isTrueDjet||isTrueBjet ) && dvmJet) fhDVMJet->Fill(6.,jet->Pt()); // light flavor -tagged\r
if(!(isTrueDjet||isTrueBjet ) && !dvmJet) fhDVMJet->Fill(7.,jet->Pt()); // light flavor -not tagged\r
+ if(isTrueBjet && eJet && dvmJet) fhDVMJet->Fill(8.,jet->Pt()); // bjet with electron\r
+ if(isTrueBjet && !eJet && dvmJet) fhDVMJet->Fill(9.,jet->Pt()); // needs more thought\r
\r
if(isTrueBjet) {\r
if(trackCounter[1]>0) fhBJetPt1x4->Fill(jet->Pt());\r
if(dvmJet && ipsigJet && !eJet) fhJetType->Fill(6.,jet->Pt()); //dvm & ipsig\r
if(dvmJet && ipsigJet && eJet) fhJetType->Fill(7.,jet->Pt()); //all\r
if(dvmJet || ipsigJet || eJet) fhJetType->Fill(8.,jet->Pt()); //any of them\r
+ if(eJet ) fhJetType->Fill(9.,jet->Pt()); //any of them\r
+ if(dvmJet) fhJetType->Fill(10.,jet->Pt()); //any of them\r
+ if(eJet2 ) fhJetType->Fill(11.,jet->Pt()); //any of them\r
+ if(hadJet) fhJetType->Fill(12.,jet->Pt()); //any of them\r
\r
if(eJet || ipsigJet || dvmJet) fhBJetEtaPhi->Fill(jet->Eta(),jet->Phi());\r
else fhNonBJetEtaPhi->Fill(jet->Eta(),jet->Phi());\r
\r
+ //leading jets\r
+ if (leadJet) {\r
+ fhLeadJetType->Fill(0.,jet->Pt()); //all\r
+ if(eJet ) fhLeadJetType->Fill(1.,jet->Pt());\r
+ if(eJet2 ) fhLeadJetType->Fill(2.,jet->Pt());\r
+ if(hadJet ) fhLeadJetType->Fill(3.,jet->Pt());\r
+ if(eJet && (dvmJet || ipsigJet) ) fhLeadJetType->Fill(4.,jet->Pt());\r
+ if(eJet2 && (dvmJet || ipsigJet) ) fhLeadJetType->Fill(5.,jet->Pt());\r
+ if(hadJet && (dvmJet || ipsigJet) ) fhLeadJetType->Fill(6.,jet->Pt());\r
+ }\r
+\r
for(Int_t itrk = 0; itrk < ntrk; itrk++) {\r
AliAODTrack* jetTrack = (AliAODTrack*)jet->GetTrack(itrk);\r
Double_t xsi = TMath::Log(jet->Pt()/jetTrack->Pt());\r