X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGHF%2Fhfe%2FAliAnalysisTaskFlowITSTPCTOFQCSP.cxx;h=77d82069ed66209b22a85098876b073c483de8fe;hb=7fcd6b0f0847c14fbbbea872499fb6b68effbb83;hp=35da7b0e7a7e281312b16db8450abaac50ee93ef;hpb=4ff4081bcde5c1a1a22b825386a7a40199933503;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGHF/hfe/AliAnalysisTaskFlowITSTPCTOFQCSP.cxx b/PWGHF/hfe/AliAnalysisTaskFlowITSTPCTOFQCSP.cxx index 35da7b0e7a7..77d82069ed6 100755 --- a/PWGHF/hfe/AliAnalysisTaskFlowITSTPCTOFQCSP.cxx +++ b/PWGHF/hfe/AliAnalysisTaskFlowITSTPCTOFQCSP.cxx @@ -201,6 +201,12 @@ AliAnalysisTaskFlowITSTPCTOFQCSP::AliAnalysisTaskFlowITSTPCTOFQCSP(const char *n ,fHistCentrDistr(0x0) ,fCentralityNoPassForFlattening(0) ,fptminAsso(0) +,fSparsephipsiULS(0) +,fSparsephipsiLS(0) +,fSparseMassULS(0) +,fSparseMassLS(0) +,fAssoTPCCluster(0) +,fAssoITSRefit(0) { //Named constructor @@ -313,6 +319,12 @@ AliAnalysisTaskFlowITSTPCTOFQCSP::AliAnalysisTaskFlowITSTPCTOFQCSP() ,fHistCentrDistr(0x0) ,fCentralityNoPassForFlattening(0) ,fptminAsso(0) +,fSparsephipsiULS(0) +,fSparsephipsiLS(0) +,fSparseMassULS(0) +,fSparseMassLS(0) +,fAssoTPCCluster(0) +,fAssoITSRefit(0) { //Default constructor fPID = new AliHFEpid("hfePid"); @@ -727,7 +739,7 @@ void AliAnalysisTaskFlowITSTPCTOFQCSP::UserExec(Option_t*) //========================================================================================================= //----------------------Selection and Flow of Photonic Electrons----------------------------- Bool_t fFlagPhotonicElec = kFALSE; - SelectPhotonicElectron(iTracks,track,fFlagPhotonicElec); + SelectPhotonicElectron(iTracks,track,fTPCnSigma,evPlAngV0,fFlagPhotonicElec); if(fFlagPhotonicElec){fPhotoElecPt->Fill(pt);} // Semi inclusive electron if(!fFlagPhotonicElec){fSemiInclElecPt->Fill(pt);} @@ -741,7 +753,7 @@ void AliAnalysisTaskFlowITSTPCTOFQCSP::UserExec(Option_t*) //----------hfe end--------- } //_________________________________________ -void AliAnalysisTaskFlowITSTPCTOFQCSP::SelectPhotonicElectron(Int_t itrack,const AliAODTrack *track, Bool_t &fFlagPhotonicElec) +void AliAnalysisTaskFlowITSTPCTOFQCSP::SelectPhotonicElectron(Int_t itrack,const AliAODTrack *track,Float_t fTPCnSigma,Double_t evPlAngV0, Bool_t &fFlagPhotonicElec) { //Identify non-heavy flavour electrons using Invariant mass method @@ -755,7 +767,14 @@ void AliAnalysisTaskFlowITSTPCTOFQCSP::SelectPhotonicElectron(Int_t itrack,const } // if(!track->TestFilterMask(AliAODTrack::kTrkGlobalNoDCA)) continue; // TESTBIT FOR AOD double Counting if(!trackAsso->TestFilterMask(AliAODTrack::kTrkTPCOnly)) continue; - if((!(trackAsso->GetStatus()&AliESDtrack::kITSrefit)|| (!(trackAsso->GetStatus()&AliESDtrack::kTPCrefit)))) continue; + + if(fAssoITSRefit){ + if(!(trackAsso->GetStatus()&AliESDtrack::kITSrefit)) continue; + } + + if(!(trackAsso->GetStatus()&AliESDtrack::kTPCrefit)) continue; + +// if((!(trackAsso->GetStatus()&AliESDtrack::kITSrefit)|| (!(trackAsso->GetStatus()&AliESDtrack::kTPCrefit)))) continue; if(jTracks == itrack) continue; @@ -772,7 +791,8 @@ void AliAnalysisTaskFlowITSTPCTOFQCSP::SelectPhotonicElectron(Int_t itrack,const nsigma = fPID->GetPIDResponse() ? fPID->GetPIDResponse()->NumberOfSigmasTPC(trackAsso, AliPID::kElectron) : 1000; - if(trackAsso->GetTPCNcls() < 80) continue; + //if(trackAsso->GetTPCNcls() < 80) continue; + if(trackAsso->GetTPCNcls() < fAssoTPCCluster) continue; if(nsigma < -3 || nsigma > 3) continue; if(trackAsso->Eta()<-0.9 || trackAsso->Eta()>0.9) continue; if(ptAsso < fptminAsso) continue; @@ -803,11 +823,54 @@ void AliAnalysisTaskFlowITSTPCTOFQCSP::SelectPhotonicElectron(Int_t itrack,const if(fFlagLS) fInvmassLS1->Fill(mass); if(fFlagULS) fInvmassULS1->Fill(mass); + if(fFlagULS){ + Double_t MassSparseULS[3] = { + track->Pt(), + mass + }; + fSparseMassULS->Fill(MassSparseULS); + } + if(fFlagLS){ + Double_t MassSparseLS[3] = { + track->Pt(), + mass + }; + fSparseMassLS->Fill(MassSparseLS); + } + + if(massFill(track->Pt());} if(fFlagLS){fLSElecPt->Fill(track->Pt());} } + + Double_t phi = track->Phi(); + Float_t DeltaPhi_eEP = TVector2::Phi_0_2pi(phi - evPlAngV0); + if(DeltaPhi_eEP > TMath::Pi()) {DeltaPhi_eEP = DeltaPhi_eEP - TMath::Pi();} + + + if(massPt(), + fTPCnSigma, + DeltaPhi_eEP + }; + fSparsephipsiULS->Fill(ulsSparse); + } + if(fFlagLS){ + Double_t lsSparse[3] = { + track->Pt(), + fTPCnSigma, + DeltaPhi_eEP + }; + fSparsephipsiLS->Fill(lsSparse); + } + } + + + if(massGetAxis(2)->SetTitle("tpcnsigma"); fOutputList->Add(fQAPidSparse); //=========================================================================== + + + + Int_t binsphipsi[3] = { 100, 150, 6}; + Double_t xminphipsi[3] = { 0., -15, 0}; + Double_t xmaxphipsi[3] = { 5., 15, TMath::Pi()}; + fSparsephipsiULS = new THnSparseF("fSparsephipsiULS", "pt:tpcnsigma:DeltaPhiULS", 3, binsphipsi, xminphipsi, xmaxphipsi); + fSparsephipsiULS->GetAxis(0)->SetTitle("pt (Gev/c)"); + fSparsephipsiULS->GetAxis(1)->SetTitle("tpcnsigma"); + fSparsephipsiULS->GetAxis(2)->SetTitle("DeltaPhiULS"); + fOutputList->Add(fSparsephipsiULS); + + fSparsephipsiLS = new THnSparseF("fSparsephipsiLS", "pt:tpcnsigma:DeltaPhiLS", 3, binsphipsi, xminphipsi, xmaxphipsi); + fSparsephipsiLS->GetAxis(0)->SetTitle("pt (Gev/c)"); + fSparsephipsiLS->GetAxis(1)->SetTitle("tpcnsigma"); + fSparsephipsiLS->GetAxis(2)->SetTitle("DeltaPhiLS"); + fOutputList->Add(fSparsephipsiLS); + + + Int_t binsmass[2] = { 100, 200}; + Double_t xminmass[2] = { 0., 0}; + Double_t xmaxmass[2] = { 5., 1.}; + fSparseMassULS = new THnSparseF("fSparseMassULS", "pt:mass (GeV/c^{2})", 2, binsmass, xminmass, xmaxmass); + fSparseMassULS->GetAxis(0)->SetTitle("pt (Gev/c)"); + fSparseMassULS->GetAxis(1)->SetTitle("mass"); + fOutputList->Add(fSparseMassULS); + + fSparseMassLS = new THnSparseF("fSparseMassLS", "pt:mass (GeV/c^{2})", 2, binsmass, xminmass, xmaxmass); + fSparseMassLS->GetAxis(0)->SetTitle("pt (Gev/c)"); + fSparseMassLS->GetAxis(1)->SetTitle("mass"); + fOutputList->Add(fSparseMassLS); + + PostData(1,fOutputList); // create and post flowevent fFlowEvent = new AliFlowEvent(10000);