CMS 3D CMS Logo

L1TMuonEndCapPhase2TrackProducer.cc
Go to the documentation of this file.
6 
9 
11 
13  : track_finder_(std::make_unique<emtf::phase2::TrackFinder>(pset, consumesCollector())),
14  hit_token_(produces<emtf::phase2::EMTFHitCollection>()),
15  trk_token_(produces<emtf::phase2::EMTFTrackCollection>()),
16  in_token_(produces<emtf::phase2::EMTFInputCollection>()) {}
17 
20 
21  // Neural Network Models
22  desc.add<std::string>("PromptGraphPath", "L1Trigger/L1TMuonEndCapPhase2/data/prompt_model.pb");
23  desc.add<std::string>("DisplacedGraphPath", "L1Trigger/L1TMuonEndCapPhase2/data/displaced_model.pb");
24 
25  // Input Collections
26  desc.add<edm::InputTag>("CSCInput", edm::InputTag("simCscTriggerPrimitiveDigisForEMTF"));
27  desc.add<edm::InputTag>("RPCInput", edm::InputTag("rpcRecHitsForEMTF"));
28  desc.add<edm::InputTag>("GEMInput", edm::InputTag("simMuonGEMPadDigiClusters"));
29  desc.add<edm::InputTag>("ME0Input", edm::InputTag("me0TriggerConvertedPseudoDigis"));
30  desc.add<edm::InputTag>("GE0Input", edm::InputTag("ge0TriggerConvertedPseudoDigis"));
31 
32  // Enable Subdetectors
33  desc.add<bool>("CSCEnabled", true);
34  desc.add<bool>("RPCEnabled", true);
35  desc.add<bool>("GEMEnabled", true);
36  desc.add<bool>("ME0Enabled", true);
37  desc.add<bool>("GE0Enabled", false);
38 
39  // Bunch-Crossing Settings
40  desc.add<int>("MinBX", -2);
41  desc.add<int>("MaxBX", 2);
42  desc.add<int>("BXWindow", 1);
43 
44  desc.add<int>("CSCInputBXShift", -8);
45  desc.add<int>("RPCInputBXShift", 0);
46  desc.add<int>("GEMInputBXShift", 0);
47  desc.add<int>("ME0InputBXShift", -8);
48 
49  // Primitive Settings
50  desc.add<bool>("IncludeNeighborEnabled", true);
51 
52  // Debug Utils
53  desc.addUntracked<int>("Verbosity", 3);
54  desc.add<std::string>("ValidationDirectory", "L1Trigger/L1TMuonEndCapPhase2/data/validation");
55 
56  // Register
57  descriptions.add("L1TMuonEndCapPhase2TrackProducer", desc);
58 }
59 
64 
65  // Forward event to track finder
66  track_finder_->process(event, event_setup, out_hits, out_tracks, out_inputs);
67 
68  // Output
69  event.emplace(hit_token_, std::move(out_hits));
70  event.emplace(trk_token_, std::move(out_tracks));
71  event.emplace(in_token_, std::move(out_inputs));
72 }
73 
75 
77 
78 //define this as a plug-in
l1t::EMTFTrackCollection EMTFTrackCollection
Definition: Common.h:27
edm::EDPutTokenT< emtf::phase2::EMTFInputCollection > in_token_
l1t::phase2::EMTFTrackCollection EMTFTrackCollection
Definition: EMTFTypes.h:31
Definition: Event.h:15
l1t::EMTFHitCollection EMTFHitCollection
Definition: Common.h:23
l1t::phase2::EMTFInputCollection EMTFInputCollection
Definition: EMTFTypes.h:35
L1TMuonEndCapPhase2TrackProducer(const edm::ParameterSet &)
void produce(edm::Event &, const edm::EventSetup &) override
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
l1t::phase2::EMTFHitCollection EMTFHitCollection
Definition: EMTFTypes.h:27
std::vector< EMTFInput > EMTFInputCollection
Definition: EMTFInput.h:41
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &)
edm::EDPutTokenT< emtf::phase2::EMTFHitCollection > hit_token_
auto stream_id(edm::StreamContext const &cs)
std::unique_ptr< emtf::phase2::TrackFinder > track_finder_
def move(src, dest)
Definition: eostools.py:511
edm::EDPutTokenT< emtf::phase2::EMTFTrackCollection > trk_token_
Definition: event.py:1