From 64536eafb9c556c7b7d522895ca621387d002eeb Mon Sep 17 00:00:00 2001 From: majanik Date: Tue, 5 Mar 2013 10:26:19 +0000 Subject: [PATCH] Correction to PID Monitor, FilterMask added to AODEventReader --- .../AliFemtoCutMonitorParticlePID.cxx | 20 +++++++++-------- .../AliFemto/AliFemtoEventReaderAOD.cxx | 22 +++++++++++++++---- .../AliFemto/AliFemtoEventReaderAOD.h | 2 ++ 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoCutMonitorParticlePID.cxx b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoCutMonitorParticlePID.cxx index 7f97c3b59ce..fe3cfd21494 100644 --- a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoCutMonitorParticlePID.cxx +++ b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoCutMonitorParticlePID.cxx @@ -139,15 +139,17 @@ void AliFemtoCutMonitorParticlePID::Fill(const AliFemtoTrack* aTrack) fTPCdEdx->Fill(tMom, tdEdx); fTOFTime->Fill(tMom, tTOF); - float vp= aTrack->VTOF(); - if (vp > 0.) { - fTOFTime->Fill(tMom, tTOF); - - if (fTOFParticle == 0) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFPi()); - if (fTOFParticle == 1) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFK()); - if (fTOFParticle == 2) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFP()); - -} + // float vp= aTrack->VTOF(); + // if (vp > 0.) { + // fTOFTime->Fill(tMom, tTOF); + // if (fTOFParticle == 0) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFPi()); + // if (fTOFParticle == 1) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFK()); + // if (fTOFParticle == 2) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFP()); + // } + + if (fTOFParticle == 0) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFPi()); + if (fTOFParticle == 1) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFK()); + if (fTOFParticle == 2) fTOFNSigma->Fill(tMom, aTrack->NSigmaTOFP()); if (fTOFParticle == 0) fTPCNSigma->Fill(tMom, aTrack->NSigmaTPCPi()); if (fTOFParticle == 1) fTPCNSigma->Fill(tMom, aTrack->NSigmaTPCK()); diff --git a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx index 5b20af612f4..aa6eebe83f3 100644 --- a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx +++ b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.cxx @@ -48,6 +48,7 @@ AliFemtoEventReaderAOD::AliFemtoEventReaderAOD(): fAllTrue(160), fAllFalse(160), fFilterBit(0), + fFilterMask(0), // fPWG2AODTracks(0x0), fReadMC(0), fReadV0(0), @@ -77,6 +78,7 @@ AliFemtoEventReaderAOD::AliFemtoEventReaderAOD(const AliFemtoEventReaderAOD &aRe fAllTrue(160), fAllFalse(160), fFilterBit(0), + fFilterMask(0), // fPWG2AODTracks(0x0), fReadMC(0), fReadV0(0), @@ -144,6 +146,7 @@ AliFemtoEventReaderAOD& AliFemtoEventReaderAOD::operator=(const AliFemtoEventRea fAllTrue.ResetAllBits(kTRUE); fAllFalse.ResetAllBits(kFALSE); fFilterBit = aReader.fFilterBit; + fFilterMask = aReader.fFilterMask; // fPWG2AODTracks = aReader.fPWG2AODTracks; fAODpidUtil = aReader.fAODpidUtil; fAODheader = aReader.fAODheader; @@ -484,11 +487,16 @@ void AliFemtoEventReaderAOD::CopyAODtoFemtoEvent(AliFemtoEvent *tEvent) if (aodtrack->IsPrimaryCandidate()) tracksPrim++; - if (!aodtrack->TestFilterBit(fFilterBit)) { + if (fFilterBit && !aodtrack->TestFilterBit(fFilterBit)) { delete trackCopy; continue; - } - + } + + if (fFilterMask && !aodtrack->TestFilterBit(fFilterMask)) { + delete trackCopy; + continue; + } + //counting particles to set multiplicity double impact[2]; double covimpact[3]; @@ -509,7 +517,7 @@ void AliFemtoEventReaderAOD::CopyAODtoFemtoEvent(AliFemtoEvent *tEvent) AliAODTrack *aodtrackpid; - if(fFilterBit == (1 << (7))) //for TPC Only tracks we have to copy PID information from corresponding global tracks + if((fFilterBit == (1 << (7))) || fFilterMask==128) //for TPC Only tracks we have to copy PID information from corresponding global tracks aodtrackpid = fEvent->GetTrack(labels[-1-fEvent->GetTrack(i)->GetID()]); else aodtrackpid = fEvent->GetTrack(i); @@ -1048,6 +1056,12 @@ void AliFemtoEventReaderAOD::SetFilterBit(UInt_t ibit) fFilterBit = (1 << (ibit)); } + +void AliFemtoEventReaderAOD::SetFilterMask(int ibit) +{ + fFilterMask = ibit; +} + void AliFemtoEventReaderAOD::SetReadMC(unsigned char a) { fReadMC = a; diff --git a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h index 2eae4edc027..dac55ac637f 100644 --- a/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h +++ b/PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderAOD.h @@ -43,6 +43,7 @@ class AliFemtoEventReaderAOD : public AliFemtoEventReader AliFemtoString Report(); void SetInputFile(const char* inputfile); void SetFilterBit(UInt_t ibit); + void SetFilterMask(int ibit); void SetReadMC(unsigned char a); void SetReadV0(unsigned char a); void SetCentralityPreSelection(double min, double max); @@ -70,6 +71,7 @@ class AliFemtoEventReaderAOD : public AliFemtoEventReader TBits fAllTrue; // Bit set with all true bits TBits fAllFalse; // Bit set with all false bits UInt_t fFilterBit; // Bitmap bit for AOD filters + UInt_t fFilterMask; // TClonesArray* fPWG2AODTracks; // Link to PWG2 specific AOD information (if it exists) unsigned char fReadMC; // Attempt to read the MC information from the AOD -- 2.43.0