CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
reco::CSCHaloDataProducer Class Reference

#include <CSCHaloDataProducer.h>

Inheritance diagram for reco::CSCHaloDataProducer:
edm::EDProducer edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 CSCHaloDataProducer (const edm::ParameterSet &)
 
 ~CSCHaloDataProducer ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Member Functions

virtual void beginJob ()
 
virtual void beginRun (edm::Run &, const edm::EventSetup &)
 
virtual void endJob ()
 
virtual void endRun (edm::Run &, const edm::EventSetup &)
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 

Private Attributes

CSCHaloAlgo CSCAlgo
 
edm::InputTag IT_ALCT
 
edm::InputTag IT_CosmicMuon
 
edm::InputTag IT_CSCRecHit
 
edm::InputTag IT_CSCSegment
 
edm::InputTag IT_HLTResult
 
edm::InputTag IT_L1MuGMTReadout
 
edm::InputTag IT_Muon
 
edm::InputTag IT_SA
 
std::vector< edm::InputTagvIT_HLTBit
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
typedef WorkerT< EDProducerWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDProducer
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 

Detailed Description

Definition at line 129 of file CSCHaloDataProducer.h.

Constructor & Destructor Documentation

CSCHaloDataProducer::CSCHaloDataProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 15 of file CSCHaloDataProducer.cc.

References edm::ParameterSet::getParameter().

16 {
17  //Digi Level
18  IT_L1MuGMTReadout = iConfig.getParameter<edm::InputTag>("L1MuGMTReadoutLabel");
19 
20  //HLT Level
21  IT_HLTResult = iConfig.getParameter<edm::InputTag>("HLTResultLabel");
22  CSCAlgo.vIT_HLTBit = iConfig.getParameter< std::vector< edm::InputTag> >("HLTBitLabel");
23 
24  //RecHit Level
25  IT_CSCRecHit = iConfig.getParameter<edm::InputTag>("CSCRecHitLabel");
26 
27  //Higher Level Reco
28  IT_CSCSegment = iConfig.getParameter<edm::InputTag>("CSCSegmentLabel");
29  IT_CosmicMuon = iConfig.getParameter<edm::InputTag>("CosmicMuonLabel");
30  IT_Muon = iConfig.getParameter<edm::InputTag>("MuonLabel");
31  IT_SA = iConfig.getParameter<edm::InputTag>("SALabel");
32  IT_ALCT = iConfig.getParameter<edm::InputTag>("ALCTDigiLabel");
33 
34  // Cosmic track selection parameters
35  CSCAlgo.SetDetaThreshold( (float) iConfig.getParameter<double>("DetaParam"));
36  CSCAlgo.SetDphiThreshold( (float) iConfig.getParameter<double>("DphiParam"));
37  CSCAlgo.SetMinMaxInnerRadius( (float) iConfig.getParameter<double>("InnerRMinParam") , (float) iConfig.getParameter<double>("InnerRMaxParam") );
38  CSCAlgo.SetMinMaxOuterRadius( (float) iConfig.getParameter<double>("OuterRMinParam"), (float) iConfig.getParameter<double>("OuterRMaxParam"));
39  CSCAlgo.SetNormChi2Threshold( (float) iConfig.getParameter<double>("NormChi2Param") );
40 
41  CSCAlgo.SetExpectedBX( (short int) iConfig.getParameter<int>("ExpectedBX") );
42  CSCAlgo.SetRecHitTime0( (float) iConfig.getParameter<double>("RecHitTime0") );
43  CSCAlgo.SetRecHitTimeWindow( (float) iConfig.getParameter<double>("RecHitTimeWindow") );
44  CSCAlgo.SetMinMaxOuterMomentumTheta( (float)iConfig.getParameter<double>("MinOuterMomentumTheta"), (float)iConfig.getParameter<double>("MaxOuterMomentumTheta") );
45  CSCAlgo.SetMatchingDPhiThreshold( (float)iConfig.getParameter<double>("MatchingDPhiThreshold") );
46  CSCAlgo.SetMatchingDEtaThreshold( (float)iConfig.getParameter<double>("MatchingDEtaThreshold") );
47  CSCAlgo.SetMatchingDWireThreshold(iConfig.getParameter<int>("MatchingDWireThreshold") );
48  produces<CSCHaloData>();
49 }
T getParameter(std::string const &) const
void SetMatchingDEtaThreshold(float x)
Definition: CSCHaloAlgo.h:103
void SetRecHitTimeWindow(float x)
Definition: CSCHaloAlgo.h:99
void SetMatchingDWireThreshold(int x)
Definition: CSCHaloAlgo.h:104
void SetMinMaxOuterRadius(float min, float max)
Definition: CSCHaloAlgo.h:95
void SetDetaThreshold(float x)
Definition: CSCHaloAlgo.h:93
std::vector< edm::InputTag > vIT_HLTBit
Definition: CSCHaloAlgo.h:91
void SetExpectedBX(int x)
Definition: CSCHaloAlgo.h:100
void SetMinMaxInnerRadius(float min, float max)
Definition: CSCHaloAlgo.h:94
void SetRecHitTime0(float x)
Definition: CSCHaloAlgo.h:98
void SetMatchingDPhiThreshold(float x)
Definition: CSCHaloAlgo.h:102
void SetMinMaxOuterMomentumTheta(float min, float max)
Definition: CSCHaloAlgo.h:101
void SetNormChi2Threshold(float x)
Definition: CSCHaloAlgo.h:97
void SetDphiThreshold(float x)
Definition: CSCHaloAlgo.h:96
CSCHaloDataProducer::~CSCHaloDataProducer ( )

Definition at line 100 of file CSCHaloDataProducer.cc.

100 {}

Member Function Documentation

void CSCHaloDataProducer::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDProducer.

Definition at line 96 of file CSCHaloDataProducer.cc.

96 {return;}
void CSCHaloDataProducer::beginRun ( edm::Run ,
const edm::EventSetup  
)
privatevirtual

Reimplemented from edm::EDProducer.

Definition at line 98 of file CSCHaloDataProducer.cc.

98 {return;}
void CSCHaloDataProducer::endJob ( void  )
privatevirtual

Reimplemented from edm::EDProducer.

Definition at line 97 of file CSCHaloDataProducer.cc.

97 {return;}
void CSCHaloDataProducer::endRun ( edm::Run ,
const edm::EventSetup  
)
privatevirtual

Reimplemented from edm::EDProducer.

Definition at line 99 of file CSCHaloDataProducer.cc.

99 {return;}
void CSCHaloDataProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDProducer.

Definition at line 51 of file CSCHaloDataProducer.cc.

References CSCHaloData_cfi::CSCHaloData, edm::EventSetup::get(), edm::Event::getByLabel(), edm::HandleBase::isValid(), edm::Event::put(), and edm::Event::triggerNames().

52 {
53  //Get CSC Geometry
54  edm::ESHandle<CSCGeometry> TheCSCGeometry;
55  iSetup.get<MuonGeometryRecord>().get(TheCSCGeometry);
56 
57  //Get CSC Stand-Alone Muons from Cosmic Reconstruction
59  iEvent.getByLabel(IT_CosmicMuon, TheCosmics);
60 
61  //Collision Muon Collection
63  iEvent.getByLabel(IT_Muon, TheMuons);
64 
65  //Get CSC Segments
66  edm::Handle<CSCSegmentCollection> TheCSCSegments;
67  iEvent.getByLabel(IT_CSCSegment, TheCSCSegments);
68 
69  //Get CSC RecHits
70  Handle<CSCRecHit2DCollection> TheCSCRecHits;
71  iEvent.getByLabel(IT_CSCRecHit, TheCSCRecHits);
72 
73  //Get L1MuGMT
75  iEvent.getByLabel (IT_L1MuGMTReadout, TheL1GMTReadout);
76 
77  //Get Chamber Anode Trigger Information
79  iEvent.getByLabel (IT_ALCT, TheALCTs);
80 
81  //Get HLT Results
83  iEvent.getByLabel( IT_HLTResult , TheHLTResults);
84 
85  const edm::TriggerNames * triggerNames = 0;
86  if (TheHLTResults.isValid()) {
87  triggerNames = &iEvent.triggerNames(*TheHLTResults);
88  }
89 
90  std::auto_ptr<CSCHaloData> TheCSCData(new CSCHaloData( CSCAlgo.Calculate(*TheCSCGeometry, TheCosmics, TheMuons, TheCSCSegments, TheCSCRecHits, TheL1GMTReadout, TheHLTResults, triggerNames, TheALCTs) ) );
91  // Put it in the event
92  iEvent.put(TheCSCData);
93  return;
94 }
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:208
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:84
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
const T & get() const
Definition: EventSetup.h:55
reco::CSCHaloData Calculate(const CSCGeometry &TheCSCGeometry, edm::Handle< reco::TrackCollection > &TheCSCTracks, edm::Handle< reco::MuonCollection > &TheMuons, edm::Handle< CSCSegmentCollection > &TheCSCSegments, edm::Handle< CSCRecHit2DCollection > &TheCSCRecHits, edm::Handle< L1MuGMTReadoutCollection > &TheL1GMTReadout, edm::Handle< edm::TriggerResults > &TheHLTResults, const edm::TriggerNames *triggerNames, const edm::Handle< CSCALCTDigiCollection > &TheALCTs)
Definition: CSCHaloAlgo.cc:35

Member Data Documentation

CSCHaloAlgo reco::CSCHaloDataProducer::CSCAlgo
private

Definition at line 144 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_ALCT
private

Definition at line 148 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_CosmicMuon
private

Definition at line 158 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_CSCRecHit
private

Definition at line 155 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_CSCSegment
private

Definition at line 159 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_HLTResult
private

Definition at line 151 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_L1MuGMTReadout
private

Definition at line 147 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_Muon
private

Definition at line 160 of file CSCHaloDataProducer.h.

edm::InputTag reco::CSCHaloDataProducer::IT_SA
private

Definition at line 161 of file CSCHaloDataProducer.h.

std::vector< edm::InputTag > reco::CSCHaloDataProducer::vIT_HLTBit
private

Definition at line 152 of file CSCHaloDataProducer.h.