CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DataFormats/ParticleFlowReco/interface/ParticleFiltrationDecision.h

Go to the documentation of this file.
00001 #ifndef PARTICLEFILTRATIONDECISION_H_
00002 #define PARTICLEFILTRATIONDECISION_H_
00003 #include <string>
00004 #include <vector>
00005 #include "DataFormats/Common/interface/Ref.h"
00006 #include "DataFormats/Common/interface/RefProd.h"
00007 #include "DataFormats/Common/interface/RefVector.h"
00008 #include "DataFormats/Common/interface/RefToBase.h"
00009 
00010 namespace pftools {
00011 
00024 class ParticleFiltrationDecision {
00025 public:
00026         ParticleFiltrationDecision() {};
00027         virtual ~ParticleFiltrationDecision() {};
00028 
00029         /* Bit field to contain user-defined vetos */
00030         char vetosPassed_;
00031 
00032         /*User-defined string representing who made this */
00033         std::string filtrationProvenance_;
00034 
00035         enum TestbeamParticle {
00036                 PION, PROTON_KAON, PROTON, KAON, ELECTRON, MUON, NOISE, OTHER
00037         };
00038 
00039         /* This event contains a clean... */
00040         TestbeamParticle type_;
00041 
00042 };
00043 
00044 //Usual framework & EDM incantations
00045 typedef std::vector<pftools::ParticleFiltrationDecision>
00046                 ParticleFiltrationDecisionCollection;
00047 
00048 typedef edm::Ref<ParticleFiltrationDecisionCollection>
00049                 ParticleFiltrationDecisionRef;
00050 typedef edm::RefProd<ParticleFiltrationDecisionCollection>
00051                 ParticleFiltrationDecisionRefProd;
00052 typedef edm::RefVector<ParticleFiltrationDecisionCollection>
00053                 ParticleFiltrationDecisionRefVector;
00054 typedef ParticleFiltrationDecisionRefVector::iterator
00055                 particleFiltrationDecision_iterator;
00056 typedef edm::RefToBase<pftools::ParticleFiltrationDecision>
00057                 ParticleFiltrationDecisionBaseRef;
00058 
00059 }
00060 
00061 #endif /* PARTICLEFILTRATIONDECISION_H_ */