CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/FastSimulation/Muons/plugins/FastTSGFromL2Muon.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_Muons_FastTSGFromL2Muon_H
00002 #define FastSimulation_Muons_FastTSGFromL2Muon_H
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00007 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00008 
00009 #include <vector>
00010 namespace edm { class ParameterSet; class Event; class EventSetup; }
00011 
00012 class MuonServiceProxy;
00013 class MuonTrackingRegionBuilder;
00014 class RectangularEtaPhiTrackingRegion;
00015 class SimTrack;
00016 //class TH1F;
00017 
00018 //
00019 // generate seeds corresponding to L2 muons
00020 //
00021 
00022 class FastTSGFromL2Muon : public edm::EDProducer {
00023 
00024  public:
00025 
00026   FastTSGFromL2Muon(const edm::ParameterSet& cfg);
00027   virtual ~FastTSGFromL2Muon();
00028   virtual void beginRun(edm::Run& run, edm::EventSetup const& es);
00029   virtual void produce(edm::Event& ev, const edm::EventSetup& es);
00030   
00031  private:
00032 
00033   bool clean(reco::TrackRef muRef,
00034              RectangularEtaPhiTrackingRegion* region,
00035              const BasicTrajectorySeed* aSeed, 
00036              const SimTrack& theSimTrack); 
00037 
00038  private:
00039 
00040   edm::ParameterSet theConfig;
00041   edm::InputTag theSimTrackCollectionLabel;
00042   edm::InputTag theL2CollectionLabel;
00043   std::vector<edm::InputTag> theSeedCollectionLabels;
00044 
00045   // bool useTFileService_;
00046 
00047   MuonServiceProxy* theService;
00048   double thePtCut;
00049   MuonTrackingRegionBuilder* theRegionBuilder;
00050 
00051   // TH1F* h_nSeedPerTrack;
00052   // TH1F* h_nGoodSeedPerTrack;
00053   // TH1F* h_nGoodSeedPerEvent;
00054 
00055 };
00056 #endif