Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:01:05

0001 #ifndef __CommonTools_ParticleFlow_interface_EventHypothesis__
0002 #define __CommonTools_ParticleFlow_interface_EventHypothesis__
0003 
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 
0006 #include <map>
0007 #include <string>
0008 
0009 namespace pf2pat {
0010 
0011   class EventHypothesis {
0012   public:
0013     /// the name of the parameter set is given to the event hypothesis
0014     /// the parameter set must contain a vstring named "sequence"
0015     /// and at least a parameter set named after each string in the
0016     /// sequence.
0017     EventHypothesis(const edm::ParameterSet& ps);
0018 
0019   private:
0020     // need a base class for all algorithms/producers
0021     typedef std::string Producer;
0022     typedef std::map<std::string, Producer> Producers;
0023     typedef std::vector<std::string> Sequence;
0024 
0025     /// unique name
0026     std::string name_;
0027 
0028     /// map of producers, indexed by producer name
0029     Producers producers_;
0030 
0031     /// sequence of producers
0032     Sequence sequence_;
0033   };
0034 
0035 }  // namespace pf2pat
0036 
0037 #endif