CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/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  
00023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00024 #include "FWCore/Utilities/interface/InputTag.h"
00025 
00026 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00027 #include "SimDataFormats/CrossingFrame/interface/PCrossingFrame.h"
00028 
00029 namespace edm
00030 {
00031 class CFWriter : public edm::EDProducer
00032 {
00033  public:
00034  
00035   explicit CFWriter(const edm::ParameterSet& conf);
00036   
00037   virtual ~CFWriter();
00038   
00039   void beginJob() {}
00040   void beginRun(const edm::Run& run, const edm::EventSetup& es);
00041   virtual void produce(edm::Event& e, const edm::EventSetup& c);
00042   virtual void put(edm::Event &e) {;}
00043 
00044  private:
00045   inline PCrossingFrame<SimTrack> fctTest (PCrossingFrame<SimTrack> p){ return p; std::cout << " call PCrossingFrame object" << std::endl;};
00046 
00047   virtual void branchesActivate(const std::string &friendlyName, std::string subdet,InputTag &tag,std::string &label);
00048   std::vector<std::string> wantedBranches_;
00049   bool useCurrentProcessOnly_;
00050   bool flagSimTrack_;
00051   bool flagSimVertex_;
00052   bool flagHepMCProduct_;
00053   bool flagPCaloHit_;
00054   bool flagPSimHit_;
00055   
00056   typedef std::vector<edm::HepMCProduct> HepMCProductContainer;
00057   std::vector<std::string> labSimHit;
00058   std::vector<std::string> labCaloHit;
00059 
00060 };
00061 }//edm
00062 #endif