fVertexZCut(10.),
fEtaCut(0.9),
fEtaCutSeed(0.2),
- fSelectParticles(1),
+ fSelectParticles(2),
fESDEvent(0),
fAODEvent(0),
fHists(0),
fHistPt(0),
fHistPtMC(0),
fChargedPi0(0)
-
{
for(Int_t i = 0;i< 4;i++){
fVertexZ[i] = 0;
fEtaSeed[i] = 0;
fPhiSeed[i] = 0;
+ fPtOthers[i] = 0;
+ fEtaOthers[i] = 0;
+ fPhiOthers[i] = 0;
+ fPtEtaOthers[i] = 0;
+
fPhiEta[i] = 0;
fDPhiDEtaEventAxis[i] = 0;
TString labels[4]={"ESDrec", "ESDmc", "AODrec", "AODmc"};
- for(Int_t i=2*fMode+fMcOnly;i<1+2*fMode+fUseMC;i++){
+ // for(Int_t i=2*fMode+fMcOnly;i<1+2*fMode+fUseMC;i++){
+ for(Int_t i=0;i<4;i++){
fVertexZ[i] = new TH1F(Form("fVertexZ%s",labels[i].Data()),
Form("fVertexZ%s",labels[i].Data()) ,
Form("fPhiSeed%s",labels[i].Data()) ,
360, 0.,2*TMath::Pi());
+ fPtOthers[i] = new TH1F(Form("fPOtherst%s",labels[i].Data()),
+ Form("fPtOthers%s",labels[i].Data()) ,
+ 500, 0., 50);
+ fEtaOthers[i] = new TH1F (Form("fEtaOthers%s",labels[i].Data()),
+ Form("fEtaOthers%s",labels[i].Data()) ,
+ 100, -1., 1);
+ fPhiOthers[i] = new TH1F(Form("fPhiOthers%s",labels[i].Data()),
+ Form("fPhiOthers%s",labels[i].Data()) ,
+ 360, 0.,2*TMath::Pi());
+ fPtEtaOthers[i] = new TH2F(Form("fPtEtaOthers%s",labels[i].Data()),
+ Form("fPtEtaOthers%s",labels[i].Data()) ,
+ 500, 0., 50, 100, -1., 1);
+
fPhiEta[i] = new TH2F(Form("fPhiEta%s",labels[i].Data()),
Form("fPhiEta%s",labels[i].Data()) ,
180, 0., 2*TMath::Pi(), 100, -1.,1.);
if(fUseMC)fHists->Add(fHistPtMC);
fHists->Add(fChargedPi0);
- for(Int_t i=2*fMode+fMcOnly;i<1+2*fMode+fUseMC;i++){
+ //for(Int_t i=2*fMode+fMcOnly;i<1+2*fMode+fUseMC;i++){
+ for(Int_t i=0;i<4;i++){
fHists->Add(fVertexZ[i]);
fHists->Add(fPt[i]);
fHists->Add(fEta[i]);
fHists->Add(fPtSeed[i]);
fHists->Add(fEtaSeed[i]);
fHists->Add(fPhiSeed[i]);
+ fHists->Add(fPtOthers[i]);
+ fHists->Add(fEtaOthers[i]);
+ fHists->Add(fPhiOthers[i]);
+ fHists->Add(fPtEtaOthers[i]);
fHists->Add(fPhiEta[i]);
fHists->Add(fDPhiDEtaEventAxis[i]);
fHists->Add(fTriggerNch[i]);
*ptArray = new Float_t[nAcceptedTracks];
*etaArray = new Float_t[nAcceptedTracks];
*phiArray = new Float_t[nAcceptedTracks];
- *nTracksTracklets = new Int_t[2]; //ntracksAccepted, ntracklets
+ *nTracksTracklets = new Int_t[3]; //ntracksAccepted, ntracklets
//check if event is pile up or no tracks are accepted, return to user exec
// if(fESDEvent->IsPileupFromSPD(3,0,8)) return 0;
continue;
}
- if(//count also charged particles in case of fSelectParticles==2 (only neutral)
- !SelectParticlePlusCharged(
- track->Charge(),
- track->PdgCode(),
- track->IsPhysicalPrimary()
- )
+ if(!SelectParticlePlusCharged(
+ track->Charge(),
+ track->PdgCode(),
+ track->IsPhysicalPrimary()
+ )
)
continue;
-
if(TMath::Abs(track->Eta())<=fEtaCut && track->Pt()>0.035)++nPseudoTracklets;
if(TMath::Abs(track->Eta())>fEtaCut || track->Pt()<0.2 || track->Pt()>200) continue;
nAllPrim++;
if(track->Charge()!=0) nChargedPrim++;
- Printf("eta=%f,phi=%f,pt=%f",track->Eta(),track->Phi(),track->Pt());
- Printf("prim=%d,pdg=%d,charge=%d",track->IsPhysicalPrimary(),track->PdgCode(),track->Charge());
+
+ // Printf("eta=%f,phi=%f,pt=%f",track->Eta(),track->Phi(),track->Pt());
+ // Printf("prim=%d,pdg=%d,charge=%d",track->IsPhysicalPrimary(),track->PdgCode(),track->Charge());
if(nAllPrim==1) vzMC= track->Zv(); // check only one time. (only one vertex per event allowed)
*nTracksTracklets = new Int_t[3];
- // Printf("nAllPrim=%d", nAllPrim);
- // Printf("nChargedPrim=%d", nChargedPrim);
+ Printf("nAllPrim=%d", nAllPrim);
+ Printf("nChargedPrim=%d", nChargedPrim);
if(nAllPrim==0) return 0;
if(nChargedPrim==0) return 0;
if(TMath::Abs(track->Eta())>fEtaCut || track->Pt()<0.2 || track->Pt()>200) continue;
//if(TMath::Abs(track->Eta())<1e-8 && TMath::Abs(track->Phi())<1e-8)continue;
+ //Printf("eta=%f,phi=%f,pt=%f",track->Eta(),track->Phi(),track->Pt());
+ Printf("prim=%d,pdg=%d,charge=%d",track->IsPhysicalPrimary(),track->PdgCode(),track->Charge());
+
//if(track->TestBit(16))continue;
fHistPtMC->Fill(track->Pt());
(*nTracksTracklets)[0] = nChargedPrim;
(*nTracksTracklets)[1] = nPseudoTracklets;
- (*nTracksTracklets)[2] = nAllPrim;
+ if(fSelectParticles!=2){
+ (*nTracksTracklets)[2] = nAllPrim;
+ }
+ else{
+ (*nTracksTracklets)[2] = nAllPrim-nChargedPrim; // only neutral
+ }
+
return nChargedPrim;
// Printf("ntracks=%d", nChargedPrim);
// ntracks and ntracklets are already the number of accepted tracks and tracklets
- if(fDebug) Printf("In Analysis\n");
+ if(fDebug){
+ Printf("In Analysis\n");
+ Printf("nAll=%d",nAll);
+ Printf("nCharged=%d",ntracksCharged);
+ }
Float_t ptEventAxis=0; // pt leading
Float_t etaEventAxis=0; // eta leading
Float_t ptOthers = 0; // pt others // for all other tracks around event axis -> see loop
Float_t etaOthers = 0; // eta others
Float_t phiOthers = 0; // phi others
-
+
Int_t *pindexInnerEta = new Int_t[nAll];
Float_t *ptInnerEta = new Float_t[nAll];
-
+
for (Int_t i = 0; i < nAll; i++) {
//filling of simple check plots
fPt[mode] -> Fill( pt[i]);
ptInnerEta[i]= pt[i];
}
-
-
-
+
// define event axis: leading or random track (with pt>fTriggerPtCut)
// ---------------------------------------
Int_t highPtTracks=0;
etaOthers = eta[iTrack];
phiOthers = phi[iTrack];
-
+ //if(ptOthers>fAssociatePtCut && ptOthers<fTriggerPtCut){ // only tracks which fullfill associate pt cut
if(ptOthers>fAssociatePtCut){ // only tracks which fullfill associate pt cut
+ //plot only properties of tracks with pt>ptassoc
+ fPtOthers[mode] -> Fill( ptOthers);
+ fEtaOthers[mode] -> Fill(etaOthers);
+ fPhiOthers[mode] -> Fill(phiOthers);
+ fPtEtaOthers[mode] -> Fill(ptOthers, etaOthers);
+
Float_t dPhi=TMath::Abs(phiOthers-phiEventAxis);
if(dPhi>TMath::Pi()) dPhi=2*TMath::Pi()-dPhi;
Float_t dEta=etaOthers-etaEventAxis;
}
//________________________________________________________________________
-Bool_t AliAnalysisTaskMinijet::SelectParticlePlusCharged(Int_t charge, Int_t pdg, Bool_t prim)
+Bool_t AliAnalysisTaskMinijet::SelectParticlePlusCharged(Short_t charge, Int_t pdg, Bool_t prim)
{
//selection of mc particle
//fSelectParticles=0: use charged primaries and pi0 and k0
}
//________________________________________________________________________
-Bool_t AliAnalysisTaskMinijet::SelectParticle(Int_t charge, Int_t pdg, Bool_t prim)
+Bool_t AliAnalysisTaskMinijet::SelectParticle(Short_t charge, Int_t pdg, Bool_t prim)
{
//selection of mc particle
//fSelectParticles=0: use charged primaries and pi0 and k0