X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGCF%2FCorrelations%2FDPhi%2FAliAnalysisTaskMinijet.cxx;h=cf99e8dc55b767d19c7ab15a6324e79331db756b;hb=7624720d7aa471e60e991c88672a17549d61dfe8;hp=f2eb2572246b39f1bcbd558582b65b1a89249c8b;hpb=28cc9dd599e496dd0a80d06b48b2d5394a5dec37;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGCF/Correlations/DPhi/AliAnalysisTaskMinijet.cxx b/PWGCF/Correlations/DPhi/AliAnalysisTaskMinijet.cxx index f2eb2572246..cf99e8dc55b 100644 --- a/PWGCF/Correlations/DPhi/AliAnalysisTaskMinijet.cxx +++ b/PWGCF/Correlations/DPhi/AliAnalysisTaskMinijet.cxx @@ -105,7 +105,7 @@ AliAnalysisTaskMinijet::AliAnalysisTaskMinijet(const char *name) fChargedPi0(0), fVertexCheck(0), fPropagateDca(0), - fCentralityMethod("V0M") + fCentralityMethod("") { //Constructor @@ -171,8 +171,21 @@ void AliAnalysisTaskMinijet::UserCreateOutputObjects() // Called once if(fDebug) Printf("In User Create Output Objects."); - Int_t nbinsCentr = 101; - Float_t minbinCentr=-0.5, maxbinCentr=100.5; + Int_t nbinsCentr = 0; + Float_t minbinCentr=0, maxbinCentr=0; + + if (fCentralityMethod.Length() > 0) + { + nbinsCentr = 105; + minbinCentr=0; + maxbinCentr=105; + } + else + { + nbinsCentr = 101; + minbinCentr=-0.5; + maxbinCentr=100.5; + } fStep = new TH1F("fStep", "fStep", 10, -0.5, 9.5); fEventStat = new TH1F("fEventStat", "fEventStat", 10, -0.5, 9.5); @@ -526,9 +539,9 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) //number of accepted tracks and tracklets - Int_t ntracks = 0; //return value for reading functions for ESD and AOD + Double_t ntracks = 0; //return value for reading functions for ESD and AOD //Int_t ntracksRemove = 0; //return value for reading functions for ESD and AOD - vector nTracksTracklets; // [0]=nAccepted,1=ntracklets,2=nall(also neutral in case of mc, + vector nTracksTracklets; // [0]=nAccepted,1=ntracklets,2=nall(also neutral in case of mc, //for real nall=ncharged) if(!fAODEvent && !fESDEvent)return; @@ -631,7 +644,7 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) else AliInfo("Fatal Error"); if (fCentralityMethod.Length() > 0) - ntracks = TMath::Nint(centrality); + ntracks = centrality; // analyse if(pt.size()){ //(internally ntracks=fNRecAccept) @@ -647,9 +660,12 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) else if(fAODEvent)ntracks = ReadEventAOD(pt, eta, phi, charge, strangenessWeight, nTracksTracklets, 7); else AliInfo("Fatal Error"); + if (fCentralityMethod.Length() > 0) + ntracks = centrality; + // analyse if(pt.size()){ //(internally ntracks=fNRecAccept) - Analyse(pt, eta, phi, charge, strangenessWeight, TMath::Nint(fNRecAcceptStrangeCorr), nTracksTracklets[1], nTracksTracklets[2], 7);//step 7 = TrigVtxRecNrecStrangeCorr + Analyse(pt, eta, phi, charge, strangenessWeight, fNRecAcceptStrangeCorr, nTracksTracklets[1], nTracksTracklets[2], 7);//step 7 = TrigVtxRecNrecStrangeCorr } } @@ -661,6 +677,9 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) else if(fAODEvent) ntracks = ReadEventAODRecMcProp(pt, eta, phi, charge,strangenessWeight, nTracksTracklets, 4); else AliInfo("Fatal Error"); + if (fCentralityMethod.Length() > 0) + ntracks = centrality; + //analyse if(pt.size()){//(internally ntracks=fNRecAccept) Analyse(pt, eta, phi, charge,strangenessWeight, ntracks, nTracksTracklets[1], nTracksTracklets[2], 4); //step 4 = TrigVtxRecMcPropNrec @@ -675,9 +694,12 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) else if(fAODEvent) ntracks = ReadEventAODRecMcProp(pt, eta, phi, charge, strangenessWeight, nTracksTracklets, 6); else AliInfo("Fatal Error"); + if (fCentralityMethod.Length() > 0) + ntracks = centrality; + //analyse if(pt.size()){//(internally ntracks=fNRecAccept) - Analyse(pt, eta, phi, charge, strangenessWeight, TMath::Nint(fNRecAcceptStrangeCorr), nTracksTracklets[1], nTracksTracklets[2], 6); //step 6 = TrigVtxRecMcPropNrecStrangeCorr + Analyse(pt, eta, phi, charge, strangenessWeight, fNRecAcceptStrangeCorr, nTracksTracklets[1], nTracksTracklets[2], 6); //step 6 = TrigVtxRecMcPropNrecStrangeCorr } } // step 3 = TrigVtxMcNrec @@ -687,6 +709,11 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) else if(fAODEvent) ntracks = ReadEventAODMC(pt, eta, phi, charge, strangenessWeight, nTracksTracklets, 3); else AliInfo("Fatal Error"); + if (fCentralityMethod.Length() > 0){ + fNRecAccept = centrality; + fNMcPrimAccept = centrality; + } + // analyse if(pt.size()){ Analyse(pt, eta, phi, charge, strangenessWeight, fNRecAccept, nTracksTracklets[1],nTracksTracklets[2], 3); //step 3 = TrigVtxMcNrec @@ -711,6 +738,10 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) else if(fAODEvent) ntracks = ReadEventAODMC(pt, eta, phi, charge, strangenessWeight, nTracksTracklets, 1);//read tracks else AliInfo("Fatal Error"); + if (fCentralityMethod.Length() > 0) + fNMcPrimAccept = centrality; + + // analyse if(pt.size()){ Analyse(pt, eta, phi, charge, strangenessWeight, fNMcPrimAccept, nTracksTracklets[1],nTracksTracklets[2], 1); // step 1 = TrigAllMcNmc @@ -732,6 +763,9 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) else if(fAODEvent) ntracks = ReadEventAODMC(pt, eta, phi, charge, strangenessWeight, nTracksTracklets, 0); else AliInfo("Fatal Error"); + if (fCentralityMethod.Length() > 0) + fNMcPrimAccept = centrality; + //analyse if(pt.size()){ Analyse(pt, eta, phi, charge, strangenessWeight, fNMcPrimAccept, nTracksTracklets[1],nTracksTracklets[2], 0); //second part of step 0 // step 0 = AllAllMcNmc @@ -745,6 +779,9 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) if(fMode==0) ntracks = ReadEventESDMC(pt, eta, phi, charge, strangenessWeight, nTracksTracklets, 0); else if (fMode==1) ntracks = ReadEventAODMC(pt, eta, phi, charge, strangenessWeight, nTracksTracklets, 0); + if (fCentralityMethod.Length() > 0) + fNMcPrimAccept = centrality; + // analyse if(pt.size()){ Analyse(pt, eta, phi, charge, strangenessWeight, fNMcPrimAccept, nTracksTracklets[1],nTracksTracklets[2], 0); @@ -754,10 +791,10 @@ void AliAnalysisTaskMinijet::UserExec(Option_t *) //________________________________________________________________________ -Int_t AliAnalysisTaskMinijet::ReadEventESD( vector &ptArray, vector &etaArray, +Double_t AliAnalysisTaskMinijet::ReadEventESD( vector &ptArray, vector &etaArray, vector &phiArray, vector &chargeArray, vector &strangeArray, - vector &nTracksTracklets, const Int_t step) + vector &nTracksTracklets, const Int_t step) { // gives back the number of esd tracks and pointer to arrays with track // properties (pt, eta, phi) @@ -779,7 +816,7 @@ Int_t AliAnalysisTaskMinijet::ReadEventESD( vector &ptArray, vector &ptArray, vector &ptArray, vector &etaArray, +Double_t AliAnalysisTaskMinijet::ReadEventESDRecMcProp( vector &ptArray, vector &etaArray, vector &phiArray, vector &chargeArray, vector &strangeArray, - vector &nTracksTracklets, const Int_t step) + vector &nTracksTracklets, const Int_t step) { // gives back the number of esd tracks and pointer to arrays with track // properties (pt, eta, phi) of mc particles if available @@ -895,7 +932,7 @@ Int_t AliAnalysisTaskMinijet::ReadEventESDRecMcProp( vector &ptArray, fVertexZ[step]->Fill(vtxSPD->GetZ()); //track loop - Int_t nAcceptedTracks=0; + Double_t nAcceptedTracks=0; for (Int_t iTracks = 0; iTracks < ntracks; iTracks++) { AliVParticle *vtrack = fESDEvent->GetTrack(iTracks); @@ -994,10 +1031,10 @@ Int_t AliAnalysisTaskMinijet::ReadEventESDRecMcProp( vector &ptArray, //________________________________________________________________________ -Int_t AliAnalysisTaskMinijet::ReadEventESDMC(vector &ptArray, vector &etaArray, +Double_t AliAnalysisTaskMinijet::ReadEventESDMC(vector &ptArray, vector &etaArray, vector &phiArray, vector &chargeArray, vector &strangeArray, - vector &nTracksTracklets, const Int_t step) + vector &nTracksTracklets, const Int_t step) { // gives back the number of charged prim MC particle and pointer to arrays // with particle properties (pt, eta, phi) @@ -1038,10 +1075,10 @@ Int_t AliAnalysisTaskMinijet::ReadEventESDMC(vector &ptArray, vector(mcEvent->GetTrack(iTracks)); if (!track) { @@ -1076,8 +1113,8 @@ Int_t AliAnalysisTaskMinijet::ReadEventESDMC(vector &ptArray, vector2){ - Printf("All in acceptance=%d",nAllPrimaries); - Printf("Charged in acceptance =%d",nChargedPrimaries); + Printf("All in acceptance=%f",nAllPrimaries); + Printf("Charged in acceptance =%f",nChargedPrimaries); } fChargedPi0->Fill(nAllPrimaries,nChargedPrimaries); @@ -1150,10 +1187,10 @@ Int_t AliAnalysisTaskMinijet::ReadEventESDMC(vector &ptArray, vector &ptArray, vector &etaArray, +Double_t AliAnalysisTaskMinijet::ReadEventAOD( vector &ptArray, vector &etaArray, vector &phiArray, vector &chargeArray, vector &strangeArray, - vector &nTracksTracklets, const Int_t step) + vector &nTracksTracklets, const Int_t step) { // gives back the number of AOD tracks and pointer to arrays with track // properties (pt, eta, phi) @@ -1180,7 +1217,7 @@ Int_t AliAnalysisTaskMinijet::ReadEventAOD( vector &ptArray, vector1) Printf("AOD tracks: %d", ntracks); - Int_t nAcceptedTracks=0; + Double_t nAcceptedTracks=0; Float_t nAcceptedTracksStrange=0; for (Int_t iTracks = 0; iTracks < ntracks; iTracks++) { AliAODTrack *track = (AliAODTrack *)fAODEvent->GetTrack(iTracks); @@ -1199,7 +1236,10 @@ Int_t AliAnalysisTaskMinijet::ReadEventAOD( vector &ptArray, vectorPt(); Double_t d0rphiz[2],covd0[3]; - Bool_t isDca= track->PropagateToDCA(fAODEvent->GetPrimaryVertex(),fAODEvent->GetMagneticField(),9999.,d0rphiz,covd0); + + AliAODTrack* clone = (AliAODTrack*) track->Clone("trk_clone"); //need clone, in order not to change track parameters + Bool_t isDca= clone->PropagateToDCA(fAODEvent->GetPrimaryVertex(),fAODEvent->GetMagneticField(),9999.,d0rphiz,covd0); + delete clone; fPropagateDca->Fill(Int_t(isDca)); if(TMath::Abs(save - track->Pt())>1e-6) Printf("Before pt=%f, After pt=%f",save, track->Pt()); @@ -1280,10 +1320,10 @@ Int_t AliAnalysisTaskMinijet::ReadEventAOD( vector &ptArray, vector &ptArray, vector &etaArray, +Double_t AliAnalysisTaskMinijet::ReadEventAODRecMcProp( vector &ptArray, vector &etaArray, vector &phiArray, vector &chargeArray, vector &strangeArray, - vector &nTracksTracklets, const Int_t step) + vector &nTracksTracklets, const Int_t step) { // gives back the number of AOD tracks and pointer to arrays with track // properties (pt, eta, phi) @@ -1314,7 +1354,7 @@ Int_t AliAnalysisTaskMinijet::ReadEventAODRecMcProp( vector &ptArray, Double_t vzAOD=vtx->GetZ(); fVertexZ[step]->Fill(vzAOD); - Int_t nAcceptedTracks=0; + Double_t nAcceptedTracks=0; for (Int_t iTracks = 0; iTracks < ntracks; iTracks++) { AliAODTrack *track = (AliAODTrack *)fAODEvent->GetTrack(iTracks); @@ -1412,10 +1452,10 @@ Int_t AliAnalysisTaskMinijet::ReadEventAODRecMcProp( vector &ptArray, //________________________________________________________________________ -Int_t AliAnalysisTaskMinijet::ReadEventAODMC( vector &ptArray, vector &etaArray, +Double_t AliAnalysisTaskMinijet::ReadEventAODMC( vector &ptArray, vector &etaArray, vector &phiArray, vector &chargeArray, vector &strangeArray, - vector &nTracksTracklets, const Int_t step) + vector &nTracksTracklets, const Int_t step) { // gives back the number of AOD MC particles and pointer to arrays with particle // properties (pt, eta, phi) @@ -1450,9 +1490,9 @@ Int_t AliAnalysisTaskMinijet::ReadEventAODMC( vector &ptArray, vector< // Track loop: chek how many particles will be accepted //Float_t vzMC=0.; - Int_t nChargedPrim=0; - Int_t nAllPrim=0; - Int_t nPseudoTracklets=0; + Double_t nChargedPrim=0; + Double_t nAllPrim=0; + Double_t nPseudoTracklets=0; for (Int_t it = 0; it < ntracks; it++) { AliAODMCParticle *track = (AliAODMCParticle*)mcArray->At(it); if (!track) { @@ -1550,7 +1590,7 @@ void AliAnalysisTaskMinijet::Analyse(const vector &pt, const vector &phi, const vector &charge, const vector &strangeWeight, - const Int_t ntracksCharged, + const Double_t ntracksCharged, const Int_t ntracklets, const Int_t nAll, const Int_t step) @@ -1565,7 +1605,7 @@ void AliAnalysisTaskMinijet::Analyse(const vector &pt, Printf("Analysis Step=%d", step); if(fDebug>2){ Printf("nAll=%d",nAll); - Printf("nCharged=%d",ntracksCharged); + Printf("nCharged=%f",ntracksCharged); for (Int_t i = 0; i < nAll; i++) { Printf("pt[%d]=%f",i,pt[i]); } @@ -1744,12 +1784,12 @@ void AliAnalysisTaskMinijet::Analyse(const vector &pt, if(ntracksCharged<-1 || ntracksCharged>1500) AliInfo("particles out of range ncharge"); if(TMath::Abs(dEta)>2*fEtaCut) { AliInfo("particles out of range dEta"); - AliInfo("eta1=%f, eta2=%f", etaOthers, etaEventAxis); - AliInfo("step=%d",step); + AliInfo(Form("eta1=%f, eta2=%f", etaOthers, etaEventAxis)); + AliInfo(Form("step=%d",step)); } if(dPhi<-0.5*TMath::Pi() || dPhi>1.5*TMath::Pi()){ - AliInfo("particles out of range dPhi"); - AliInfo("phi1=%f, phi2=%f", phiOthers, phiEventAxis); + AliInfo(Form("particles out of range dPhi")); + AliInfo(Form("phi1=%f, phi2=%f", phiOthers, phiEventAxis)); } Bool_t isLikeSign = CheckLikeSign(chargeEventAxis, chargeOthers);