00001
00002
00003
00004 #ifndef STJMCPARTICLECUTSTATUS_H
00005 #define STJMCPARTICLECUTSTATUS_H
00006
00007 #include "StjMCParticleCut.h"
00008
00009 #include <set>
00010
00011 class StjMCParticleCutStatus : public StjMCParticleCut {
00012
00013 public:
00014 StjMCParticleCutStatus(int goodStatus = 1)
00015 : _goodStatusSet(&goodStatus, &goodStatus + 1) { }
00016 StjMCParticleCutStatus(int nGoodStatuses, int* goodStatuses)
00017 : _goodStatusSet(goodStatuses, goodStatuses + nGoodStatuses) { }
00018 virtual ~StjMCParticleCutStatus() { }
00019
00020 bool operator()(const StjMCParticle& p4)
00021 {
00022 if( _goodStatusSet.count(p4.status) == 0 ) return true;
00023
00024 return false;
00025 }
00026
00027 private:
00028
00029 std::set<int> _goodStatusSet;
00030 ClassDef(StjMCParticleCutStatus, 1)
00031
00032 };
00033
00034 #endif // STJMCPARTICLECUTSTATUS_H