\r
////--------------------------------------------------------------------Init.\r
\r
-\r
TString cAdd = "";\r
TString Branchname_gen,Branchname_gen2,Branchname_rec;\r
if((JFAlg=="ANTIKT")||(JFAlg=="KT")){\r
}\r
\r
\r
+\r
+ //count number of tracks@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \r
+ //Reconstructed Track\r
+ TClonesArray* tracks = dynamic_cast <TClonesArray*> (fAODIn->GetTracks());\r
+ if(!tracks){\r
+ if (fDebug > 1) Printf("%s:%d could not get AODtracks", (char*)__FILE__,__LINE__);\r
+ return;\r
+ }\r
+\r
+ Bool_t TrackEff[5000];\r
+ for(int i=0;i<5000;i++){\r
+ TrackEff[i]=false;\r
+ }\r
+ Int_t nt = fAODIn->GetNumberOfTracks();\r
+ AliAODTrack* trackAOD=NULL;\r
+ for(int ntrack =0;ntrack<nt;ntrack++){\r
+ trackAOD = (AliAODTrack*) (tracks->At(ntrack));\r
+ Bool_t bgoodT=false;\r
+ if(Filtermask!=272){if(trackAOD->TestFilterMask(Filtermask))bgoodT=true;}\r
+ else {if(trackAOD->IsHybridGlobalConstrainedGlobal())bgoodT=true;} //for hybrid Track cuts\r
+ if(!bgoodT)continue;\r
+ if(TMath::Abs(trackAOD->Eta())<0.9){\r
+ Track_n++;\r
+ fH1Track_pt ->Fill(trackAOD->Pt()*TrackEScale);\r
+ fH1Track_phi->Fill(trackAOD->Phi());\r
+ fH1Track_eta->Fill(trackAOD->Eta());\r
+ //cout<<"Scale "<<TrackEScale<<" org pt "<<trackAOD->Pt()<< " scaled pt "<< trackAOD->Pt()*TrackEScale <<endl;\r
+ if(IsMC){\r
+ // track pt resplution-------------------\r
+ Int_t MCID = TMath::Abs(trackAOD->GetLabel());\r
+ TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
+ if(!mctracks){\r
+ if (fDebug > 1) Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
+ continue;\r
+ }\r
+ AliAODMCParticle *trackMCAOD = (AliAODMCParticle*) mctracks->At(MCID);\r
+ fH2TrackMCptResolution->Fill(trackMCAOD->Pt(),trackAOD->Pt());\r
+ TrackEff[MCID]=true;\r
+ // --------------------------------------\r
+ }\r
+ }\r
+ }\r
+ if(IsMC){\r
+ //MC Track\r
+ TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
+ if(!mctracks){\r
+ if (fDebug > 1) Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
+ return;\r
+ }\r
+ Int_t ntmc = mctracks->GetEntriesFast();\r
+ AliAODMCParticle* trackMCAOD;\r
+ int lastprim=0;\r
+ for(int ntrack =0;ntrack<ntmc;ntrack++){\r
+ trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
+ if((trackMCAOD->IsPhysicalPrimary())==1)lastprim=ntrack;\r
+ }\r
+ for(int ntrack =0;ntrack<ntmc;ntrack++){\r
+ trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
+ if((trackMCAOD->GetPdgCode()>10)&&((trackMCAOD->GetMother())>1)&&(ntrack>lastprim)&&(trackMCAOD->Charge())){// for Decay particles\r
+ if(TMath::Abs(trackMCAOD->Eta())<0.9){\r
+ fH1MCTrack_pt ->Fill(trackMCAOD->Pt());\r
+ fH1MCTrack_phi->Fill(trackMCAOD->Phi());\r
+ fH1MCTrack_eta->Fill(trackMCAOD->Eta());\r
+ if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);\r
+ else fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);\r
+ }\r
+ }\r
+ if((trackMCAOD->IsPhysicalPrimary())&&(trackMCAOD->Charge())){// for Physical particles\r
+ if(TMath::Abs(trackMCAOD->Eta())<0.9){\r
+ MCTrack_n++;\r
+ fH1MCTrack_pt ->Fill(trackMCAOD->Pt());\r
+ fH1MCTrack_phi->Fill(trackMCAOD->Phi());\r
+ fH1MCTrack_eta->Fill(trackMCAOD->Eta());\r
+ fH1MCPrimTrack_pt ->Fill(trackMCAOD->Pt());\r
+ fH1MCPrimTrack_phi->Fill(trackMCAOD->Phi());\r
+ fH1MCPrimTrack_eta->Fill(trackMCAOD->Eta());\r
+ if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);\r
+ else fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);\r
+ }\r
+ }\r
+ }\r
+ }\r
+ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ count number of tracks\r
+\r
+\r
+\r
+\r
for(int algorithm=0;algorithm<3;algorithm++){\r
\r
if(algorithm==0)fJetBranch = Branchname_rec.Data();\r
Jet_eta [algorithm][njet] = jetsAOD->Eta();\r
Jet_area [algorithm][njet] = jetsAOD->EffectiveAreaCharged();\r
\r
+\r
TRefArray *reftracks = jetsAOD->GetRefTracks();\r
if(algorithm==0){if(Jet_pt[algorithm][njet]>1.)Mjet_tot += reftracks->GetEntriesFast();Njet_tot++;}\r
double eta_cut_Jet=0.5;\r
}\r
////+++++++++++++++++++++++++++++++++++++++++++++++ Di-Jet event trigger \r
\r
- //if(algorithm==1){//IDEAL Jet-Hadron Correlation\r
- // if((findDiJet)&&(Leading_pt>10.)&&(sLeading_pt>10.)){\r
- // double eta_cut_Jet=0.5;\r
- // if(TMath::Abs(Leading_eta)<eta_cut_Jet){\r
- // for(int eb=0;eb<5;eb++){\r
- // if(TMath::Abs(Leading_pt -10.-20.*(eb))<10.){ //<------------------------- Change Condition\r
- // fH1ndiJMCIdeal_ediv[eb]->Fill(1);\r
- // if(eb==1){\r
- // if((0<Mlead)&&Mlead<7) {fH1ndiJMCIdeal_2040Mlead[0]->Fill(1);}\r
- // else if((7<=Mlead)&&(Mlead<10)) {fH1ndiJMCIdeal_2040Mlead[1]->Fill(1);}\r
- // else {fH1ndiJMCIdeal_2040Mlead[2]->Fill(1);}\r
- // if((0<Aj)&&(Aj<0.19)) {fH1ndiJMCIdeal_2040Aj [0]->Fill(1);}\r
- // else if((0.19<=Aj)&&(Aj<0.38)) {fH1ndiJMCIdeal_2040Aj [1]->Fill(1);}\r
- // else {fH1ndiJMCIdeal_2040Aj [2]->Fill(1);}\r
- // }\r
- // fH1MleadMCIdeal[eb]->Fill(Mlead);\r
- // fH1AjIdeal[eb] ->Fill(Aj);\r
- // //MC Track\r
- // TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
- // if(!mctracks){\r
- // if (fDebug > 1) Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
- // continue;\r
- // }\r
- // Int_t ntmc = mctracks->GetEntriesFast();\r
- // AliAODMCParticle* trackMCAOD;\r
- // int lastprim=0;\r
- // for(int ntrack =0;ntrack<ntmc;ntrack++){\r
- // trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
- // if((trackMCAOD->IsPhysicalPrimary())==1)lastprim=ntrack;\r
- // }\r
- // for(int ntrack =0;ntrack<ntmc;ntrack++){\r
- // trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
- // if((trackMCAOD->IsPhysicalPrimary())&&(trackMCAOD->Charge())){// for Physical particles\r
- // double DelPhi = DeltaPhi(Leading_phi,trackMCAOD->Phi());\r
- // if(TMath::Abs(trackMCAOD->Era())<0.9){\r
- // for(int teb=0;teb<5;teb++){\r
- // if(teb==0){if(!( trackMCAOD->Pt()>0.15))continue;}\r
- // if(teb==1){if(!((trackMCAOD->Pt()<1.5)&&(trackMCAOD->Pt()>0.15)))continue;}\r
- // if(teb==2){if(!((trackMCAOD->Pt()<3.0)&&(trackMCAOD->Pt()>1.5)))continue;}\r
- // if(teb==3){if(!((trackMCAOD->Pt()<4.5)&&(trackMCAOD->Pt()>3.0)))continue;}\r
- // if(teb==4){if(!( trackMCAOD->Pt()>4.5))continue;}\r
- // fH1JetHadronMCIdeal_dphi_ediv [eb][teb]->Fill(DelPhi); \r
- // fH1JetHadronMCIdeal_dphi_tptweight_ediv [eb][teb]->Fill(DelPhi,trackMCAOD->Pt());\r
- // fH1JetHadronMCIdeal_dphi_tJptweight_ediv [eb][teb]->Fill(DelPhi,trackMCAOD->Pt()/Leading_pt);\r
- // if(eb==1){\r
- // if((0<Mlead)&&Mlead<7) {fH1JetHadronMCIdeal_dphi_tptweight2040_Mleaddep[0][teb]->Fill(DelPhi,trackMCAOD->Pt());}\r
- // else if((7<=Mlead)&&(Mlead<10)){fH1JetHadronMCIdeal_dphi_tptweight2040_Mleaddep[1][teb]->Fill(DelPhi,trackMCAOD->Pt());}\r
- // else {fH1JetHadronMCIdeal_dphi_tptweight2040_Mleaddep[2][teb]->Fill(DelPhi,trackMCAOD->Pt());}\r
- // if((0<Aj)&&(Aj<0.19)) {fH1JetHadronMCIdeal_dphi_tptweight2040_Ajdep [0][teb]->Fill(DelPhi,trackMCAOD->Pt());}\r
- // else if((0.19<=Aj)&&(Aj<0.38)) {fH1JetHadronMCIdeal_dphi_tptweight2040_Ajdep [1][teb]->Fill(DelPhi,trackMCAOD->Pt());}\r
- // else {fH1JetHadronMCIdeal_dphi_tptweight2040_Ajdep [2][teb]->Fill(DelPhi,trackMCAOD->Pt());}\r
- // }\r
- // }\r
- // }\r
- // }\r
- // }//Track Loop\r
- // }\r
- // }\r
- // }\r
- // }\r
- //}\r
-\r
if(algorithm!=0)continue;// for only data & reconstructed Jets\r
\r
- //count number of tracks@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \r
- //Reconstructed Track\r
- TClonesArray* tracks = dynamic_cast <TClonesArray*> (fAODIn->GetTracks());\r
- if(!tracks){\r
- if (fDebug > 1) Printf("%s:%d could not get AODtracks", (char*)__FILE__,__LINE__);\r
- continue;\r
- }\r
-\r
- Bool_t TrackEff[5000];\r
- for(int i=0;i<5000;i++){\r
- TrackEff[i]=false;\r
- }\r
- Int_t nt = fAODIn->GetNumberOfTracks();\r
- AliAODTrack* trackAOD=NULL;\r
- for(int ntrack =0;ntrack<nt;ntrack++){\r
- trackAOD = (AliAODTrack*) (tracks->At(ntrack));\r
- Bool_t bgoodT=false;\r
- if(Filtermask!=272){if(trackAOD->TestFilterMask(Filtermask))bgoodT=true;}\r
- else {if(trackAOD->IsHybridGlobalConstrainedGlobal())bgoodT=true;} //for hybrid Track cuts\r
- if(!bgoodT)continue;\r
- if(TMath::Abs(trackAOD->Eta())<0.9){\r
- Track_n++;\r
- fH1Track_pt ->Fill(trackAOD->Pt()*TrackEScale);\r
- fH1Track_phi->Fill(trackAOD->Phi());\r
- fH1Track_eta->Fill(trackAOD->Eta());\r
- if(IsMC){\r
- // track pt resplution-------------------\r
- Int_t MCID = TMath::Abs(trackAOD->GetLabel());\r
- TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
- if(!mctracks){\r
- if (fDebug > 1) Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
- continue;\r
- }\r
- AliAODMCParticle *trackMCAOD = (AliAODMCParticle*) mctracks->At(MCID);\r
- fH2TrackMCptResolution->Fill(trackMCAOD->Pt(),trackAOD->Pt());\r
- TrackEff[MCID]=true;\r
- // --------------------------------------\r
- }\r
- }\r
- }\r
- if(IsMC){// still under construction\r
- //MC Track\r
- TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
- if(!mctracks){\r
- if (fDebug > 1) Printf("%s:%d could not get AODMCtracks", (char*)__FILE__,__LINE__);\r
- continue;\r
- }\r
- Int_t ntmc = mctracks->GetEntriesFast();\r
- AliAODMCParticle* trackMCAOD;\r
- int lastprim=0;\r
- for(int ntrack =0;ntrack<ntmc;ntrack++){\r
- trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
- if((trackMCAOD->IsPhysicalPrimary())==1)lastprim=ntrack;\r
- }\r
- for(int ntrack =0;ntrack<ntmc;ntrack++){\r
- trackMCAOD = (AliAODMCParticle*) (mctracks->At(ntrack));\r
- if((trackMCAOD->GetPdgCode()>10)&&((trackMCAOD->GetMother())>1)&&(ntrack>lastprim)&&(trackMCAOD->Charge())){// for Decay particles\r
- fH1MCTrack_pt ->Fill(trackMCAOD->Pt());\r
- fH1MCTrack_phi->Fill(trackMCAOD->Phi());\r
- fH1MCTrack_eta->Fill(trackMCAOD->Eta());\r
- if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);\r
- else fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);\r
- }\r
- if((trackMCAOD->IsPhysicalPrimary())&&(trackMCAOD->Charge())){// for Physical particles\r
- MCTrack_n++;\r
- fH1MCTrack_pt ->Fill(trackMCAOD->Pt());\r
- fH1MCTrack_phi->Fill(trackMCAOD->Phi());\r
- fH1MCTrack_eta->Fill(trackMCAOD->Eta());\r
- fH1MCPrimTrack_pt ->Fill(trackMCAOD->Pt());\r
- fH1MCPrimTrack_phi->Fill(trackMCAOD->Phi());\r
- fH1MCPrimTrack_eta->Fill(trackMCAOD->Eta());\r
- if(TrackEff[ntrack])fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),1);\r
- else fH2TrackMCptEfficiency->Fill(trackMCAOD->Pt(),0);\r
- }\r
- }\r
- }//still under construction\r
- //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ count number of tracks\r
\r
//Jet-Hadron Correlation###############################################\r
if((findDiJet)&&(Leading_pt>10.)&&(sLeading_pt>10.)){\r
if(Filtermask!=272){if(trackAOD->TestFilterMask(Filtermask))bgoodT=true;}\r
else{ if(trackAOD->IsHybridGlobalConstrainedGlobal())bgoodT=true;} //for hybrid Track cuts\r
if(!bgoodT)continue;\r
- Track_pt [ntrack] = trackAOD->Pt()*TrackEScale;\r
+ Track_pt [ntrack] = (trackAOD->Pt()*TrackEScale);\r
Track_phi [ntrack] = trackAOD->Phi();\r
Track_eta [ntrack] = trackAOD->Eta();\r
+\r
+ //cout<<"Scale "<<TrackEScale<<" org pt "<<trackAOD->Pt()<< " scaled pt "<< trackAOD->Pt()*TrackEScale <<endl;\r
+\r
double DelPhi = DeltaPhi(Leading_phi,Track_phi[ntrack]);\r
if(TMath::Abs(Track_eta[ntrack])<0.9){\r
if((TMath::Abs(DelPhi-pi/2.)<pi/8.)||((DelPhi+pi/2.)<pi/8.)||(TMath::Abs(DelPhi-3./2.*pi)<pi/8.))Munder++;\r
}\r
}\r
}//Track Loop\r
- if(IsMC){// still under construction\r
+ if(IsMC){\r
//MC Track\r
TClonesArray* mctracks = dynamic_cast <TClonesArray*> (fAODIn->GetList()->FindObject(AliAODMCParticle::StdBranchName()));\r
if(!mctracks){\r
}\r
}\r
}\r
- }//still under construction\r
+ }\r
}\r
}// Momentum Loop Jet\r
fH2Jet_pt_Munder ->Fill(Leading_pt,(double)Munder/(1.8*pi/2.)*Jet_area[0][nLJet]);\r