From 53f88a613cfaf093e217499a54e6e9e1a7914999 Mon Sep 17 00:00:00 2001 From: maszyman Date: Thu, 4 Dec 2014 15:21:32 +0100 Subject: [PATCH] updates in PID selection --- .../AliFemto/AliFemtoEventReaderAOD.cxx | 68 ++++++++++--------- 1 file changed, 37 insertions(+), 31 deletions(-) diff --git a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx index 6a86baf4439..3119c41064b 100644 --- a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx +++ b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx @@ -1210,18 +1210,25 @@ AliFemtoV0* AliFemtoEventReaderAOD::CopyAODtoFemtoV0(AliAODv0 *tAODv0 ) Float_t probMisPos = 1.0; Float_t probMisNeg = 1.0; - if (tFemtoV0->StatusPos() & AliESDtrack::kTOFout & AliESDtrack::kTIME) { //AliESDtrack::kTOFpid=0x8000 + if( ((tFemtoV0->StatusPos() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusPos() & AliVTrack::kTIME) == AliVTrack::kTIME) ){ + // if (tFemtoV0->StatusPos() & AliESDtrack::kTOFout & AliESDtrack::kTIME) { //AliESDtrack::kTOFpid=0x8000 probMisPos = fAODpidUtil->GetTOFMismatchProbability(trackpos); } - if (tFemtoV0->StatusNeg() & AliESDtrack::kTOFout & AliESDtrack::kTIME) { //AliESDtrack::kTOFpid=0x8000 + if( ((tFemtoV0->StatusNeg() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusNeg() & AliVTrack::kTIME) == AliVTrack::kTIME) ){ + // if (tFemtoV0->StatusNeg() & AliESDtrack::kTOFout & AliESDtrack::kTIME) { //AliESDtrack::kTOFpid=0x8000 probMisNeg = fAODpidUtil->GetTOFMismatchProbability(trackneg); } - if(// (tFemtoV0->StatusPos()& AliESDtrack::kTOFpid)==0 || - (tFemtoV0->StatusPos()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusPos()&AliESDtrack::kTOFout)==0 || probMisPos > 0.01) + // if(// (tFemtoV0->StatusPos()& AliESDtrack::kTOFpid)==0 || + // (tFemtoV0->StatusPos()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusPos()&AliESDtrack::kTOFout)==0 || probMisPos > 0.01) + + if( !(((tFemtoV0->StatusPos() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusPos() & AliVTrack::kTIME) == AliVTrack::kTIME)) || probMisPos > 0.01) + { - if(// (tFemtoV0->StatusNeg()&AliESDtrack::kTOFpid)==0 || - (tFemtoV0->StatusNeg()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusNeg()&AliESDtrack::kTOFout)==0 || probMisNeg > 0.01) + // if(// (tFemtoV0->StatusNeg()&AliESDtrack::kTOFpid)==0 || + // (tFemtoV0->StatusNeg()&AliESDtrack::kTIME)==0 || (tFemtoV0->StatusNeg()&AliESDtrack::kTOFout)==0 || probMisNeg > 0.01) + if( !(((tFemtoV0->StatusNeg() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusNeg() & AliVTrack::kTIME) == AliVTrack::kTIME)) || probMisNeg > 0.01) + { tFemtoV0->SetPosNSigmaTOFK(-1000); tFemtoV0->SetNegNSigmaTOFK(-1000); @@ -1240,12 +1247,16 @@ AliFemtoV0* AliFemtoEventReaderAOD::CopyAODtoFemtoV0(AliAODv0 *tAODv0 ) } else { - if(trackpos->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME)) { + if( ((tFemtoV0->StatusPos() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusPos() & AliVTrack::kTIME) == AliVTrack::kTIME) && probMisPos < 0.01){ + + // if(trackpos->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME)) { tFemtoV0->SetPosNSigmaTOFK(fAODpidUtil->NumberOfSigmasTOF(trackpos,AliPID::kKaon)); tFemtoV0->SetPosNSigmaTOFP(fAODpidUtil->NumberOfSigmasTOF(trackpos,AliPID::kProton)); tFemtoV0->SetPosNSigmaTOFPi(fAODpidUtil->NumberOfSigmasTOF(trackpos,AliPID::kPion)); } - if(trackneg->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME)) { + if( ((tFemtoV0->StatusNeg() & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((tFemtoV0->StatusNeg() & AliVTrack::kTIME) == AliVTrack::kTIME) && probMisNeg < 0.01){ + + // if(trackneg->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME)) { tFemtoV0->SetNegNSigmaTOFK(fAODpidUtil->NumberOfSigmasTOF(trackneg,AliPID::kKaon)); tFemtoV0->SetNegNSigmaTOFP(fAODpidUtil->NumberOfSigmasTOF(trackneg,AliPID::kProton)); tFemtoV0->SetNegNSigmaTOFPi(fAODpidUtil->NumberOfSigmasTOF(trackneg,AliPID::kPion)); @@ -1416,7 +1427,11 @@ void AliFemtoEventReaderAOD::CopyPIDtoFemtoTrack(AliAODTrack *tAodTrack, Float_t probMis = 1.0; //what is that code? for what do we need it? nsigma values are not enough? - if (tAodTrack->GetStatus() & AliESDtrack::kTOFout & AliESDtrack::kTIME) { //AliESDtrack::kTOFpid=0x8000 + // if (tAodTrack->GetStatus() & AliESDtrack::kTOFout & AliESDtrack::kTIME) { //AliESDtrack::kTOFpid=0x8000 + + ULong_t status=tAodTrack->GetStatus(); + + if( ((status & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((status & AliVTrack::kTIME) == AliVTrack::kTIME) ){ tTOF = tAodTrack->GetTOFsignal(); tAodTrack->GetIntegratedTimes(aodpid); @@ -1438,12 +1453,10 @@ void AliFemtoEventReaderAOD::CopyPIDtoFemtoTrack(AliAODTrack *tAodTrack, // cout<<"in reader fESDpid"<IsOn(AliESDtrack::kTPCpid)){ //AliESDtrack::kTPCpid=0x0080 - nsigmaTPCK = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kKaon); - nsigmaTPCPi = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kPion); - nsigmaTPCP = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kProton); - nsigmaTPCE = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kElectron); - } + nsigmaTPCK = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kKaon); + nsigmaTPCPi = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kPion); + nsigmaTPCP = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kProton); + nsigmaTPCE = fAODpidUtil->NumberOfSigmasTPC(tAodTrack,AliPID::kElectron); tFemtoTrack->SetNSigmaTPCPi(nsigmaTPCPi); tFemtoTrack->SetNSigmaTPCK(nsigmaTPCK); @@ -1466,25 +1479,18 @@ void AliFemtoEventReaderAOD::CopyPIDtoFemtoTrack(AliAODTrack *tAodTrack, float nsigmaTOFP=-1000.; float nsigmaTOFE=-1000.; - if (// (tAodTrack->GetStatus() & AliESDtrack::kTOFpid) && - //AliESDtrack::kTOFpid=0x8000 - (tAodTrack->GetStatus() & AliESDtrack::kTOFout) && //AliESDtrack::kTOFout=0x2000 - (tAodTrack->GetStatus() & AliESDtrack::kTIME) //AliESDtrack::kTIME=0x80000000 - && probMis < 0.01) // TOF mismatch probaility - { - if(tAodTrack->IsOn(AliESDtrack::kTOFout & AliESDtrack::kTIME)) //AliESDtrack::kTOFpid=0x8000 - { + if( ((status & AliVTrack::kTOFout) == AliVTrack::kTOFout) && ((status & AliVTrack::kTIME) == AliVTrack::kTIME) && probMis < 0.01){ - nsigmaTOFPi = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kPion); - nsigmaTOFK = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kKaon); - nsigmaTOFP = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kProton); - nsigmaTOFE = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kElectron); + nsigmaTOFPi = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kPion); + nsigmaTOFK = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kKaon); + nsigmaTOFP = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kProton); + nsigmaTOFE = fAODpidUtil->NumberOfSigmasTOF(tAodTrack,AliPID::kElectron); - Double_t len=200;// esdtrack->GetIntegratedLength(); !!!!! - Double_t tof=tAodTrack->GetTOFsignal(); - if(tof > 0.) vp=len/tof/0.03; - } + Double_t len=200;// esdtrack->GetIntegratedLength(); !!!!! + Double_t tof=tAodTrack->GetTOFsignal(); + if(tof > 0.) vp=len/tof/0.03; } + tFemtoTrack->SetVTOF(vp); tFemtoTrack->SetNSigmaTOFPi(nsigmaTOFPi); tFemtoTrack->SetNSigmaTOFK(nsigmaTOFK); -- 2.43.5