#include "PndPidListMaker.h" #include #include "RhoBase/TCandidate.h" #include "RhoBase/TCandList.h" #include "RhoBase/VAbsPidSelector.h" #include "RhoSelector/TPidSelector.h" PndPidListMaker::PndPidListMaker() { Init(); } PndPidListMaker::PndPidListMaker(TCandList &l) { SetBaseList(l); Init(); } PndPidListMaker::~PndPidListMaker() { fBaseList.Cleanup(); } void PndPidListMaker::Init() { // init the selectors; plusSel = new TPidPlusSelector; minusSel = new TPidMinusSelector; // **** pid selectors for generic list creation // eSel = new TPidSimpleElectronSelector(); muSel = new TPidSimpleMuonSelector(); piSel = new TPidSimplePionSelector(); kSel = new TPidSimpleKaonSelector(); pSel = new TPidSimpleProtonSelector(); // initialize Known Names std::vector pNames; std::vector critNames; pNames.push_back("Electron"); pNames.push_back("Muon"); pNames.push_back("Pion"); pNames.push_back("Kaon"); pNames.push_back("Proton"); critNames.push_back("VeryLoose"); critNames.push_back("Loose"); critNames.push_back("Tight"); critNames.push_back("VeryTight"); fListNames.clear(); for (unsigned int i=0;iSetCriterion(veryLoose); break; case 1: pidSel->SetCriterion(loose); break; case 2: pidSel->SetCriterion(tight); break; case 3: pidSel->SetCriterion(veryTight); break; } if (select_chrg>0) l.Select(pidSel); else l.Select(fBaseList,pidSel); return true; }