![]() |
![]() |
#include <CSCHaloDataProducer.h>
Public Member Functions | |
CSCHaloDataProducer (const edm::ParameterSet &) | |
~CSCHaloDataProducer () | |
Private Member Functions | |
virtual void | produce (edm::Event &, const edm::EventSetup &) override |
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 |
MuonSegmentMatcher * | TheMatcher |
MuonServiceProxy * | TheService |
std::vector< edm::InputTag > | vIT_HLTBit |
Definition at line 132 of file CSCHaloDataProducer.h.
CSCHaloDataProducer::CSCHaloDataProducer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 15 of file CSCHaloDataProducer.cc.
References edm::ParameterSet::getParameter(), MuonSegmentMatcher_cff::MuonSegmentMatcher, and MuonServiceProxy_cff::MuonServiceProxy.
{ //Digi Level IT_L1MuGMTReadout = iConfig.getParameter<edm::InputTag>("L1MuGMTReadoutLabel"); //HLT Level IT_HLTResult = iConfig.getParameter<edm::InputTag>("HLTResultLabel"); CSCAlgo.vIT_HLTBit = iConfig.getParameter< std::vector< edm::InputTag> >("HLTBitLabel"); //RecHit Level IT_CSCRecHit = iConfig.getParameter<edm::InputTag>("CSCRecHitLabel"); //Higher Level Reco IT_CSCSegment = iConfig.getParameter<edm::InputTag>("CSCSegmentLabel"); IT_CosmicMuon = iConfig.getParameter<edm::InputTag>("CosmicMuonLabel"); IT_Muon = iConfig.getParameter<edm::InputTag>("MuonLabel"); IT_SA = iConfig.getParameter<edm::InputTag>("SALabel"); IT_ALCT = iConfig.getParameter<edm::InputTag>("ALCTDigiLabel"); //Muon to Segment Matching edm::ParameterSet serviceParameters = iConfig.getParameter<edm::ParameterSet>("ServiceParameters"); TheService = new MuonServiceProxy(serviceParameters); edm::ParameterSet matchParameters = iConfig.getParameter<edm::ParameterSet>("MatchParameters"); TheMatcher = new MuonSegmentMatcher(matchParameters, TheService); // Cosmic track selection parameters CSCAlgo.SetDetaThreshold( (float) iConfig.getParameter<double>("DetaParam")); CSCAlgo.SetDphiThreshold( (float) iConfig.getParameter<double>("DphiParam")); CSCAlgo.SetMinMaxInnerRadius( (float) iConfig.getParameter<double>("InnerRMinParam") , (float) iConfig.getParameter<double>("InnerRMaxParam") ); CSCAlgo.SetMinMaxOuterRadius( (float) iConfig.getParameter<double>("OuterRMinParam"), (float) iConfig.getParameter<double>("OuterRMaxParam")); CSCAlgo.SetNormChi2Threshold( (float) iConfig.getParameter<double>("NormChi2Param") ); // MLR CSCAlgo.SetMaxSegmentRDiff( (float) iConfig.getParameter<double>("MaxSegmentRDiff") ); CSCAlgo.SetMaxSegmentPhiDiff( (float) iConfig.getParameter<double>("MaxSegmentPhiDiff") ); CSCAlgo.SetMaxSegmentTheta( (float) iConfig.getParameter<double>("MaxSegmentTheta") ); // End MLR CSCAlgo.SetMaxDtMuonSegment( (float) iConfig.getParameter<double>("MaxDtMuonSegment") ); CSCAlgo.SetMaxFreeInverseBeta( (float) iConfig.getParameter<double>("MaxFreeInverseBeta") ); CSCAlgo.SetExpectedBX( (short int) iConfig.getParameter<int>("ExpectedBX") ); CSCAlgo.SetRecHitTime0( (float) iConfig.getParameter<double>("RecHitTime0") ); CSCAlgo.SetRecHitTimeWindow( (float) iConfig.getParameter<double>("RecHitTimeWindow") ); CSCAlgo.SetMinMaxOuterMomentumTheta( (float)iConfig.getParameter<double>("MinOuterMomentumTheta"), (float)iConfig.getParameter<double>("MaxOuterMomentumTheta") ); CSCAlgo.SetMatchingDPhiThreshold( (float)iConfig.getParameter<double>("MatchingDPhiThreshold") ); CSCAlgo.SetMatchingDEtaThreshold( (float)iConfig.getParameter<double>("MatchingDEtaThreshold") ); CSCAlgo.SetMatchingDWireThreshold(iConfig.getParameter<int>("MatchingDWireThreshold") ); produces<CSCHaloData>(); }
CSCHaloDataProducer::~CSCHaloDataProducer | ( | ) |
Definition at line 115 of file CSCHaloDataProducer.cc.
{}
void CSCHaloDataProducer::produce | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [override, private, virtual] |
Implements edm::EDProducer.
Definition at line 66 of file CSCHaloDataProducer.cc.
References CSCHaloData_cfi::CSCHaloData, edm::EventSetup::get(), edm::Event::getByLabel(), edm::HandleBase::isValid(), edm::Event::put(), and edm::Event::triggerNames().
{ //Get CSC Geometry edm::ESHandle<CSCGeometry> TheCSCGeometry; iSetup.get<MuonGeometryRecord>().get(TheCSCGeometry); //Get Muons Collection from Cosmic Reconstruction edm::Handle< reco::MuonCollection > TheCosmics; iEvent.getByLabel(IT_CosmicMuon, TheCosmics); //Get Muon Time Information from Cosmic Reconstruction edm::Handle<reco::MuonTimeExtraMap> TheCSCTimeMap; iEvent.getByLabel(IT_CosmicMuon.label(),"csc",TheCSCTimeMap); //Collision Muon Collection edm::Handle< reco::MuonCollection> TheMuons; iEvent.getByLabel(IT_Muon, TheMuons); //Get CSC Segments edm::Handle<CSCSegmentCollection> TheCSCSegments; iEvent.getByLabel(IT_CSCSegment, TheCSCSegments); //Get CSC RecHits Handle<CSCRecHit2DCollection> TheCSCRecHits; iEvent.getByLabel(IT_CSCRecHit, TheCSCRecHits); //Get L1MuGMT edm::Handle < L1MuGMTReadoutCollection > TheL1GMTReadout ; iEvent.getByLabel (IT_L1MuGMTReadout, TheL1GMTReadout); //Get Chamber Anode Trigger Information edm::Handle<CSCALCTDigiCollection> TheALCTs; iEvent.getByLabel (IT_ALCT, TheALCTs); //Get HLT Results edm::Handle<edm::TriggerResults> TheHLTResults; iEvent.getByLabel( IT_HLTResult , TheHLTResults); const edm::TriggerNames * triggerNames = 0; if (TheHLTResults.isValid()) { triggerNames = &iEvent.triggerNames(*TheHLTResults); } std::auto_ptr<CSCHaloData> TheCSCData(new CSCHaloData( CSCAlgo.Calculate(*TheCSCGeometry, TheCosmics, TheCSCTimeMap, TheMuons, TheCSCSegments, TheCSCRecHits, TheL1GMTReadout, TheHLTResults, triggerNames, TheALCTs, TheMatcher, iEvent) ) ); // Put it in the event iEvent.put(TheCSCData); return; }
Definition at line 143 of file CSCHaloDataProducer.h.
Definition at line 147 of file CSCHaloDataProducer.h.
Definition at line 161 of file CSCHaloDataProducer.h.
Definition at line 158 of file CSCHaloDataProducer.h.
Definition at line 162 of file CSCHaloDataProducer.h.
Definition at line 150 of file CSCHaloDataProducer.h.
Definition at line 146 of file CSCHaloDataProducer.h.
Definition at line 163 of file CSCHaloDataProducer.h.
Definition at line 164 of file CSCHaloDataProducer.h.
Definition at line 155 of file CSCHaloDataProducer.h.
Definition at line 154 of file CSCHaloDataProducer.h.
std::vector< edm::InputTag > reco::CSCHaloDataProducer::vIT_HLTBit [private] |
Definition at line 151 of file CSCHaloDataProducer.h.