CMS 3D CMS Logo

CSCRecHitDProducer.cc
Go to the documentation of this file.
4 
14 
16 
18  : iRun(0),
19  useCalib(ps.getParameter<bool>("CSCUseCalibrations")),
20  useStaticPedestals(ps.getParameter<bool>("CSCUseStaticPedestals")),
21  useTimingCorrections(ps.getParameter<bool>("CSCUseTimingCorrections")),
22  useGasGainCorrections(ps.getParameter<bool>("CSCUseGasGainCorrections"))
23 
24 {
25  s_token = consumes<CSCStripDigiCollection>(ps.getParameter<edm::InputTag>("stripDigiTag"));
26  w_token = consumes<CSCWireDigiCollection>(ps.getParameter<edm::InputTag>("wireDigiTag"));
27  cscGeom_token = esConsumes<CSCGeometry, MuonGeometryRecord>();
28 
29  recHitBuilder_ = new CSCRecHitDBuilder(ps); // pass on the parameter sets
30  recoConditions_ = new CSCRecoConditions(ps, consumesCollector()); // access to conditions data
31 
32  recHitBuilder_->setConditions(recoConditions_); // pass down to who needs access
33 
34  // register what this produces
35  produces<CSCRecHit2DCollection>();
36 }
37 
39  delete recHitBuilder_;
40  delete recoConditions_;
41 }
42 
44  // Dumps the message TWICE if both categories are set!
45  // LogTrace("CSCRecHitDProducer|CSCRecHit")<< "[CSCRecHitDProducer] starting event " << ev.id().event() << " of run " << ev.id().run();
46  LogTrace("CSCRecHit") << "[CSCRecHitDProducer] starting event " << ev.id().event() << " of run " << ev.id().run();
47  // find the geometry for this event & cache it in the builder
49  const CSCGeometry* pgeom = &*h;
51 
52  // access conditions data for this event
55  }
56 
57  // Get the collections of strip & wire digis from event
60 
61  ev.getByToken(s_token, stripDigis);
62  ev.getByToken(w_token, wireDigis);
63 
64  // Create empty collection of rechits
65  auto oc = std::make_unique<CSCRecHit2DCollection>();
66 
67  // Fill the CSCRecHit2DCollection
68  recHitBuilder_->build(stripDigis.product(), wireDigis.product(), *oc);
69 
70  // Put collection in event
71  LogTrace("CSCRecHit") << "[CSCRecHitDProducer] putting collection of " << oc->size() << " rechits into event.";
72  ev.put(std::move(oc));
73 }
74 
77  desc.add<double>("CSCStripPeakThreshold", 10.0);
78  desc.add<double>("CSCStripClusterChargeCut", 25.0);
79  desc.add<double>("CSCStripxtalksOffset", 0.03);
80  desc.add<bool>("UseAverageTime", false);
81  desc.add<bool>("UseParabolaFit", false);
82  desc.add<bool>("UseFivePoleFit", true);
83  desc.add<int>("CSCWireClusterDeltaT", 1);
84  desc.add<bool>("CSCUseCalibrations", true);
85  desc.add<bool>("CSCUseStaticPedestals", false);
86  desc.add<int>("CSCNoOfTimeBinsForDynamicPedestal", 2);
87  desc.add<edm::InputTag>("wireDigiTag", edm::InputTag("muonCSCDigis", "MuonCSCWireDigi"));
88  desc.add<edm::InputTag>("stripDigiTag", edm::InputTag("muonCSCDigis", "MuonCSCStripDigi"));
89  desc.add<bool>("readBadChannels", true);
90  desc.add<bool>("readBadChambers", true);
91  desc.add<bool>("CSCUseTimingCorrections", true);
92  desc.add<bool>("CSCUseGasGainCorrections", true);
93  desc.addUntracked<bool>("CSCDebug", false);
94  desc.add<int>("CSCstripWireDeltaTime", 8);
95  desc.addUntracked<int>("CSCStripClusterSize", 3);
96 
97  desc.add<double>("XTasymmetry_ME1a", 0.023), desc.add<double>("XTasymmetry_ME1b", 0.01),
98  desc.add<double>("XTasymmetry_ME12", 0.015), desc.add<double>("XTasymmetry_ME13", 0.02),
99  desc.add<double>("XTasymmetry_ME21", 0.023), desc.add<double>("XTasymmetry_ME22", 0.023),
100  desc.add<double>("XTasymmetry_ME31", 0.023), desc.add<double>("XTasymmetry_ME32", 0.023),
101  desc.add<double>("XTasymmetry_ME41", 0.023), desc.add<double>("ConstSyst_ME1a", 0.01),
102  desc.add<double>("ConstSyst_ME1b", 0.02), desc.add<double>("ConstSyst_ME12", 0.02),
103  desc.add<double>("ConstSyst_ME13", 0.03), desc.add<double>("ConstSyst_ME21", 0.03),
104  desc.add<double>("ConstSyst_ME22", 0.03), desc.add<double>("ConstSyst_ME31", 0.03),
105  desc.add<double>("ConstSyst_ME32", 0.03), desc.add<double>("ConstSyst_ME41", 0.03),
106  desc.add<double>("NoiseLevel_ME1a", 9.0), desc.add<double>("NoiseLevel_ME1b", 6.0),
107  desc.add<double>("NoiseLevel_ME12", 7.0), desc.add<double>("NoiseLevel_ME13", 4.0),
108  desc.add<double>("NoiseLevel_ME21", 5.0), desc.add<double>("NoiseLevel_ME22", 7.0),
109  desc.add<double>("NoiseLevel_ME31", 5.0), desc.add<double>("NoiseLevel_ME32", 7.0),
110  desc.add<double>("NoiseLevel_ME41", 5.0);
111 
112  desc.add<bool>("CSCUseReducedWireTimeWindow", false);
113  desc.add<int>("CSCWireTimeWindowLow", 0);
114  desc.add<int>("CSCWireTimeWindowHigh", 15);
115  descriptions.add("configWireTimeWindow", desc);
116 }
117 
118 //define this as a plug-in
CSCRecHit2DCollection.h
Handle.h
electrons_cff.bool
bool
Definition: electrons_cff.py:366
CSCRecHitDBuilder::setGeometry
void setGeometry(const CSCGeometry *geom)
Definition: CSCRecHitDBuilder.h:61
MessageLogger.h
CSCRecHitDProducer::~CSCRecHitDProducer
~CSCRecHitDProducer() override
Definition: CSCRecHitDProducer.cc:38
CSCRecoConditions::initializeEvent
void initializeEvent(const edm::EventSetup &es)
fetch the cond data from the database
Definition: CSCRecoConditions.cc:10
edm::Handle::product
T const * product() const
Definition: Handle.h:70
EDProducer.h
ESHandle.h
CSCRecoConditions.h
CSCRecHitDBuilder::setConditions
void setConditions(CSCRecoConditions *reco)
Definition: CSCRecHitDBuilder.cc:160
CSCRecHitDProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: CSCRecHitDProducer.cc:43
h
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
Definition: L1TUtmAlgorithmRcd.h:4
CSCRecHitDProducer::useStaticPedestals
bool useStaticPedestals
Definition: CSCRecHitDProducer.h:46
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89281
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::Handle< CSCStripDigiCollection >
CSCRecHitDProducer::cscGeom_token
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeom_token
Definition: CSCRecHitDProducer.h:55
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
CSCRecHitDProducer::recHitBuilder_
CSCRecHitDBuilder * recHitBuilder_
Definition: CSCRecHitDProducer.h:50
CSCGeometry
Definition: CSCGeometry.h:24
CSCRecHitDProducer::s_token
edm::EDGetTokenT< CSCStripDigiCollection > s_token
Definition: CSCRecHitDProducer.h:53
MakerMacros.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
CSCRecHitDProducer::w_token
edm::EDGetTokenT< CSCWireDigiCollection > w_token
Definition: CSCRecHitDProducer.h:54
CSCRecHitDProducer::useTimingCorrections
bool useTimingCorrections
Definition: CSCRecHitDProducer.h:47
CSCRecHitDProducer::useCalib
bool useCalib
Definition: CSCRecHitDProducer.h:45
CSCRecHitDProducer::useGasGainCorrections
bool useGasGainCorrections
Definition: CSCRecHitDProducer.h:48
edm::ESHandle< CSCGeometry >
CSCRecHitDProducer
Definition: CSCRecHitDProducer.h:33
CSCRecHitDBuilder::build
void build(const CSCStripDigiCollection *stripds, const CSCWireDigiCollection *wireds, CSCRecHit2DCollection &oc)
Definition: CSCRecHitDBuilder.cc:48
CSCRecHitDProducer::CSCRecHitDProducer
CSCRecHitDProducer(const edm::ParameterSet &ps)
Definition: CSCRecHitDProducer.cc:17
h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
simCaloStage2Layer1Digis_cfi.useCalib
useCalib
Definition: simCaloStage2Layer1Digis_cfi.py:13
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
CSCRecHitDProducer.h
edm::EventSetup
Definition: EventSetup.h:58
CSCRecHitDProducer::recoConditions_
CSCRecoConditions * recoConditions_
Definition: CSCRecHitDProducer.h:51
CSCRecHitDBuilder
Definition: CSCRecHitDBuilder.h:38
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
CSCRecHitDBuilder.h
CSCRecoConditions
Definition: CSCRecoConditions.h:25
Frameworkfwd.h
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
Exception.h
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
ParameterSet.h
CSCRecHitDProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: CSCRecHitDProducer.cc:75
edm::Event
Definition: Event.h:73
edm::InputTag
Definition: InputTag.h:15