From 7c5aa0f162aeff94dca620a2bf2a1766f566eac4 Mon Sep 17 00:00:00 2001 From: snelling Date: Thu, 7 Jun 2012 11:23:54 +0000 Subject: [PATCH] extra cuts --- PWG/FLOW/Tasks/AliAnalysisTaskFlowStrange.cxx | 97 +++++++++---------- PWGCF/FLOW/macros/AddTaskFlowStrange.C | 23 +++-- 2 files changed, 59 insertions(+), 61 deletions(-) diff --git a/PWG/FLOW/Tasks/AliAnalysisTaskFlowStrange.cxx b/PWG/FLOW/Tasks/AliAnalysisTaskFlowStrange.cxx index 4356ae81315..e50b278bc2e 100644 --- a/PWG/FLOW/Tasks/AliAnalysisTaskFlowStrange.cxx +++ b/PWG/FLOW/Tasks/AliAnalysisTaskFlowStrange.cxx @@ -332,9 +332,8 @@ void AliAnalysisTaskFlowStrange::ReadFromESDv0(AliESDEvent *tESD) if(fSpecie==0) { dMASS = myV0->GetEffMass(2,2); } else { - if(pass==1) dMASS = myV0->GetEffMass(2,4); + dMASS = myV0->GetEffMass(2,4); if(pass==2) dMASS = myV0->GetEffMass(4,2); - if(pass>2) dMASS = myV0->GetEffMass(2,4); } dPT=myV0->Pt(); dQT=myV0->PtArmV0(); @@ -353,7 +352,6 @@ Int_t AliAnalysisTaskFlowStrange::PassesESDCuts(AliESDv0 *myV0, AliESDEvent *tES tESD->GetPrimaryVertex()->GetY(), tESD->GetPrimaryVertex()->GetZ()); // primary vertex if(myV0->GetOnFlyStatus() ) return 0; - AliESDtrack *iT, *jT; // TESTING CHARGE @@ -380,7 +378,8 @@ Int_t AliAnalysisTaskFlowStrange::PassesESDCuts(AliESDv0 *myV0, AliESDEvent *tES Double_t dD0M=jT->GetD(vv.X(),vv.Y(),tESD->GetMagneticField()); Double_t dD0D0=dD0P*dD0M; Double_t dQT=myV0->PtArmV0(); - Double_t dALPHA=myV0->AlphaV0(); + Double_t dALPHA=myV0->AlphaV0(); // return (lQlPos - lQlNeg)/(lQlPos + lQlNeg); + if(iPos==0) dALPHA = -dALPHA; // protects for a change in convention Double_t dPT=myV0->Pt(); Double_t dETA=myV0->Eta(); ((TH2D*)((TList*)fQAList->FindObject("QACutsBefore"))->FindObject("BefDL")) ->Fill(dDL,dPT); @@ -400,7 +399,7 @@ Int_t AliAnalysisTaskFlowStrange::PassesESDCuts(AliESDv0 *myV0, AliESDEvent *tES if(dETA fV0Cuts[7]) passes = 0; if(fSpecie==0) if(dQTGetInnerParam()->GetP()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kPion))>3.) ) - antilambda = 0; - if( (jT->GetInnerParam()->GetP()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kProton))>3.) ) - antilambda = 0; - // lambda p+ pi- - if( (iT->GetInnerParam()->GetP()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kProton))>3.) ) - lambda = 0; - if( (jT->GetInnerParam()->GetP()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kPion))>3.) ) - lambda = 0; - passes=lambda+antilambda; + if(passes==1) { + if( (iT->GetInnerParam()->GetP()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kProton))>3.) ) + passes = 0; + if( (jT->GetInnerParam()->GetP()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kPion))>3.) ) + passes = 0; + } + if(passes==2) { + if( (iT->GetInnerParam()->GetP()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kPion))>3.) ) + passes = 0; + if( (jT->GetInnerParam()->GetP()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kProton))>3.) ) + passes = 0; + } break; } } @@ -454,9 +452,8 @@ void AliAnalysisTaskFlowStrange::ReadFromAODv0(AliAODEvent *tAOD) if(fSpecie==0) { dMASS = myV0->MassK0Short(); } else { - if(pass==1) dMASS = myV0->MassLambda(); + dMASS = myV0->MassLambda(); if(pass==2) dMASS = myV0->MassAntiLambda(); - if(pass>2) dMASS = myV0->MassLambda(); } dPT=myV0->Pt(); dQT=myV0->PtArmV0(); @@ -472,7 +469,6 @@ void AliAnalysisTaskFlowStrange::ReadFromAODv0(AliAODEvent *tAOD) Int_t AliAnalysisTaskFlowStrange::PassesAODCuts(AliAODv0 *myV0, AliAODEvent *tAOD) { if (myV0->GetOnFlyStatus() ) return 0; - //the following is needed in order to evualuate track-quality AliAODTrack *iT, *jT; AliAODVertex *vV0s = myV0->GetSecondaryVtx(); @@ -480,8 +476,6 @@ Int_t AliAnalysisTaskFlowStrange::PassesAODCuts(AliAODv0 *myV0, AliAODEvent *tAO vV0s->GetXYZ(pos); vV0s->GetCovarianceMatrix(cov); const AliESDVertex vESD(pos,cov,100.,100); - - // TESTING CHARGE int iPos, iNeg; iT=(AliAODTrack*) myV0->GetDaughter(0); @@ -518,13 +512,9 @@ Int_t AliAnalysisTaskFlowStrange::PassesAODCuts(AliAODv0 *myV0, AliAODEvent *tAO Double_t dD0P=ieT.GetD(pvertex[0],pvertex[1],tAOD->GetMagneticField()); Double_t dD0M=jeT.GetD(pvertex[0],pvertex[1],tAOD->GetMagneticField()); Double_t dD0D0=dD0P*dD0M; - //Double_t dRAD = myV0->RadiusV0; - //Double_t dOpenAngle = myV0->OpenAngleV0(); - //Double_t dRapK=myV0->RapK0Short(); - //Double_t dRapL=myV0->RapLambda(); - //Double_t dDCAv0 = myV0->DcaV0ToPrimVertex(); Double_t dQT=myV0->PtArmV0(); - Double_t dALPHA=myV0->AlphaV0(); + Double_t dALPHA=myV0->AlphaV0(); // AlphaV0 -> AODRecoDecat::Alpha -> return 1.-2./(1.+QlProng(0)/QlProng(1)); + if(myV0->ChargeProng(iPos)<0) dALPHA = -dALPHA; // protects for a change in convention Double_t dPT=myV0->Pt(); Double_t dETA=myV0->Eta(); ((TH2D*)((TList*)fQAList->FindObject("QACutsBefore"))->FindObject("BefDL")) ->Fill(dDL,dPT); @@ -544,7 +534,7 @@ Int_t AliAnalysisTaskFlowStrange::PassesAODCuts(AliAODv0 *myV0, AliAODEvent *tAO if(dETA fV0Cuts[7]) passes = 0; if(fSpecie==0) if(dQTGetTPCmomentum()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kPion))>3.) ) - antilambda = 0; - if( (jT->GetTPCmomentum()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kProton))>3.) ) - antilambda = 0; - // lambda p+ pi- - if( (iT->GetTPCmomentum()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kProton))>3.) ) - lambda = 0; - if( (jT->GetTPCmomentum()<15) && - (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kPion))>3.) ) - lambda = 0; - passes=lambda+antilambda; + if(passes==1) { + if( (iT->GetTPCmomentum()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kProton))>3.) ) + passes = 0; + if( (jT->GetTPCmomentum()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kPion))>3.) ) + passes = 0; + } + if(passes==2) { + if( (iT->GetTPCmomentum()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(iT,AliPID::kPion))>3.) ) + passes = 0; + if( (jT->GetTPCmomentum()<15) && + (TMath::Abs(fPIDResponse->NumberOfSigmasTPC(jT,AliPID::kProton))>3.) ) + passes = 0; + } break; } } @@ -631,6 +620,7 @@ void AliAnalysisTaskFlowStrange::SetCuts2010(int set) { fV0Cuts[0] = -1e+6; fV0Cuts[1] = +1e+6; fV0Cuts[2] = -1e+6; fV0Cuts[3] = -1e+6; fV0Cuts[4] = +1e+6; fV0Cuts[5] = -1e+6; fV0Cuts[6] = -1e+6; fV0Cuts[7] = +1e+6; fV0Cuts[8] = 0; + break; case(1): // Tight cuts fV0Cuts[0] = +0.5; fV0Cuts[1] = +0.5; fV0Cuts[2] = +0.998; fV0Cuts[3] = +0.1; fV0Cuts[4] = +0.0; fV0Cuts[5] = +0.105; @@ -641,5 +631,10 @@ void AliAnalysisTaskFlowStrange::SetCuts2010(int set) { fV0Cuts[3] = +0.1; fV0Cuts[4] = +0.0; fV0Cuts[5] = +0.105; fV0Cuts[6] = -0.8; fV0Cuts[7] = +0.8; fV0Cuts[8] = 1; break; + case(3): // No cuts + PID + fV0Cuts[0] = -1e+6; fV0Cuts[1] = +1e+6; fV0Cuts[2] = -1e+6; + fV0Cuts[3] = -1e+6; fV0Cuts[4] = +1e+6; fV0Cuts[5] = -1e+6; + fV0Cuts[6] = -1e+6; fV0Cuts[7] = +1e+6; fV0Cuts[8] = 1; + break; } } diff --git a/PWGCF/FLOW/macros/AddTaskFlowStrange.C b/PWGCF/FLOW/macros/AddTaskFlowStrange.C index ccd95730c6d..edaaa4727e5 100644 --- a/PWGCF/FLOW/macros/AddTaskFlowStrange.C +++ b/PWGCF/FLOW/macros/AddTaskFlowStrange.C @@ -1,15 +1,18 @@ void AddTaskFlowStrange(int trigger, int centrMin, int centrMax, int harmonic=2) { - AddStrangeWagon(trigger,centrMin,centrMax,"K0",Form("K%d%dc%d",centrMin,centrMax,0),0,0,"V0M",harmonic); - AddStrangeWagon(trigger,centrMin,centrMax,"K0",Form("K%d%dc%d",centrMin,centrMax,1),0,1,"V0M",harmonic); - AddStrangeWagon(trigger,centrMin,centrMax,"K0",Form("K%d%dc%d",centrMin,centrMax,2),0,2,"V0M",harmonic); - AddStrangeWagon(trigger,centrMin,centrMax,"K0",Form("K%d%dc%dTRK",centrMin,centrMax,1),0,1,"TRK",harmonic); - AddStrangeWagon(trigger,centrMin,centrMax,"L0",Form("L%d%dc%d",centrMin,centrMax,0),1,0,"V0M",harmonic); - AddStrangeWagon(trigger,centrMin,centrMax,"L0",Form("L%d%dc%d",centrMin,centrMax,1),1,1,"V0M",harmonic); - AddStrangeWagon(trigger,centrMin,centrMax,"L0",Form("L%d%dc%d",centrMin,centrMax,2),1,2,"V0M",harmonic); - AddStrangeWagon(trigger,centrMin,centrMax,"L0",Form("L%d%dc%dTRK",centrMin,centrMax,1),1,1,"TRK",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"K0",Form("K%d%dc0",centrMin,centrMax), 0,0,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"K0",Form("K%d%dc1",centrMin,centrMax), 0,1,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"K0",Form("K%d%dc2",centrMin,centrMax), 0,2,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"K0",Form("K%d%dc3",centrMin,centrMax), 0,3,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"K0",Form("K%d%dc2TRK",centrMin,centrMax),0,2,"TRK",harmonic); + + AddTaskFlowStrange(trigger,centrMin,centrMax,"L0",Form("L%d%dc0",centrMin,centrMax), 1,0,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"L0",Form("L%d%dc1",centrMin,centrMax), 1,1,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"L0",Form("L%d%dc2",centrMin,centrMax), 1,2,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"L0",Form("L%d%dc3",centrMin,centrMax), 1,3,"V0M",harmonic); + AddTaskFlowStrange(trigger,centrMin,centrMax,"L0",Form("L%d%dc2TRK",centrMin,centrMax),1,2,"TRK",harmonic); } -void AddStrangeWagon(int trigger, float centrMin, float centrMax, TString folderName="myFolder", TString suffixName="mySuffix", - int specie=0, int cuts=1, char* MULT="V0M", int harmonic=2) { +void AddTaskFlowStrange(int trigger, float centrMin, float centrMax, TString folderName="myFolder", TString suffixName="mySuffix", + int specie=0, int cuts=1, char* MULT="V0M", int harmonic=2) { TString fileName = AliAnalysisManager::GetCommonFileName(); fileName.ReplaceAll(".root",""); -- 2.39.3