CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/SimGeneral/MixingModule/plugins/CFWriter.h

Go to the documentation of this file.
00001 #ifndef CFWriter_h
00002 #define CFWriter_h
00003 
00017 #include "FWCore/Framework/interface/EDProducer.h"
00018 #include "FWCore/Framework/interface/Event.h"
00019 #include "FWCore/Framework/interface/EventSetup.h"
00020  
00021 #include "DataFormats/Common/interface/Handle.h"
00022 #include "DataFormats/Common/interface/EDProduct.h"
00023  
00024 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00025 #include "FWCore/Utilities/interface/InputTag.h"
00026 
00027 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00028 #include "SimDataFormats/CrossingFrame/interface/PCrossingFrame.h"
00029 
00030 namespace edm
00031 {
00032 class CFWriter : public edm::EDProducer
00033 {
00034  public:
00035  
00036   explicit CFWriter(const edm::ParameterSet& conf);
00037   
00038   virtual ~CFWriter();
00039   
00040   void beginJob() {}
00041   void beginRun(const edm::Run& run, const edm::EventSetup& es);
00042   virtual void produce(edm::Event& e, const edm::EventSetup& c);
00043   virtual void put(edm::Event &e) {;}
00044 
00045  private:
00046   inline PCrossingFrame<SimTrack> fctTest (PCrossingFrame<SimTrack> p){ return p; std::cout << " call PCrossingFrame object" << std::endl;};
00047 
00048   virtual void branchesActivate(const std::string &friendlyName, std::string subdet,InputTag &tag,std::string &label);
00049   std::vector<std::string> wantedBranches_;
00050   bool useCurrentProcessOnly_;
00051   bool flagSimTrack_;
00052   bool flagSimVertex_;
00053   bool flagHepMCProduct_;
00054   bool flagPCaloHit_;
00055   bool flagPSimHit_;
00056   
00057   typedef std::vector<edm::HepMCProduct> HepMCProductContainer;
00058   std::vector<std::string> labSimHit;
00059   std::vector<std::string> labCaloHit;
00060 
00061 };
00062 }//edm
00063 #endif