CMS 3D CMS Logo

InputData.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTMTT_InputData_h
2 #define L1Trigger_TrackFindingTMTT_InputData_h
3 
10 #include <list>
11 
12 namespace tmtt {
13 
14  class Settings;
15  class StubWindowSuggest;
16  class DegradeBend;
17 
18  //=== Unpacks stub & tracking particle (truth) data into user-friendlier format in Stub & TP classes.
19  //=== Also makes B-field available to Settings class.
20 
21  class InputData {
22  public:
24  const edm::EventSetup& iSetup,
25  const Settings* settings,
26  StubWindowSuggest* stubWindowSuggest,
27  const DegradeBend* degradeBend,
28  const TrackerGeometry* trackerGeometry,
29  const TrackerTopology* trackerTopology,
30  const std::list<TrackerModule>& listTrackerModule,
32  const edm::EDGetTokenT<TTStubDetSetVec> stubToken,
33  const edm::EDGetTokenT<TTStubAssMap> stubTruthToken,
34  const edm::EDGetTokenT<TTClusterAssMap> clusterTruthToken,
36 
37  // Info about each tracker module
38  const std::list<TrackerModule>& trackerModules() const { return trackerModules_; };
39 
40  // Get tracking particles
41  const std::list<TP>& getTPs() const { return vTPs_; }
42  // Get stubs that would be output by the front-end readout electronics
43  const std::list<Stub*>& stubs() const { return vStubs_; }
44  // Ditto but const
45  const std::list<const Stub*>& stubsConst() const { return vStubsConst_; }
46 
47  //--- of minor importance ...
48 
49  // Get number of stubs prior to applying tighted front-end readout electronics cuts specified in section StubCuts of Analyze_Defaults_cfi.py. (Only used to measure the efficiency of these cuts).
50  const std::list<Stub>& allStubs() const { return vAllStubs_; }
51 
52  private:
53  bool enableMCtruth_; // Notes if job will use MC truth info.
54 
55  std::list<TrackerModule> trackerModules_; // Info about each tracker module.
56 
57  std::list<TP> vTPs_; // tracking particles
58  std::list<Stub*> vStubs_; // stubs that would be output by the front-end readout electronics.
59  std::list<const Stub*> vStubsConst_; // ditto but const
60 
61  //--- Used for a few minor studies ...
62 
63  // all stubs, even those that would fail any tightened front-end readout electronic cuts specified in section StubCuts of Analyze_Defaults_cfi.py. (Only used to measure the efficiency of these cuts).
64  std::list<Stub> vAllStubs_;
65 
66  // Recommends optimal FE stub window sizes.
68  // Degrades bend to allow for FE stub bend encoding.
70  };
71 
72 } // namespace tmtt
73 #endif
tmtt::InputData::vTPs_
std::list< TP > vTPs_
Definition: InputData.h:57
tmtt::InputData::trackerModules
const std::list< TrackerModule > & trackerModules() const
Definition: InputData.h:38
Stub.h
edm::EDGetTokenT< TrackingParticleCollection >
TrackerTopology
Definition: TrackerTopology.h:16
tmtt::InputData::stubsConst
const std::list< const Stub * > & stubsConst() const
Definition: InputData.h:45
EDAnalyzer.h
tmtt::InputData::getTPs
const std::list< TP > & getTPs() const
Definition: InputData.h:41
tmtt::StubWindowSuggest
Definition: StubWindowSuggest.h:28
tmtt::InputData::vStubsConst_
std::list< const Stub * > vStubsConst_
Definition: InputData.h:59
tmtt::InputData::stubs
const std::list< Stub * > & stubs() const
Definition: InputData.h:43
tmtt::InputData::allStubs
const std::list< Stub > & allStubs() const
Definition: InputData.h:50
TrackerModule.h
TP.h
tmtt::InputData::trackerModules_
std::list< TrackerModule > trackerModules_
Definition: InputData.h:55
tmtt::Settings
Definition: Settings.h:17
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::EventSetup
Definition: EventSetup.h:58
tmtt::InputData::enableMCtruth_
bool enableMCtruth_
Definition: InputData.h:53
genTree_cfi.genJetToken
genJetToken
Definition: genTree_cfi.py:5
InputTag.h
tmtt::InputData::vStubs_
std::list< Stub * > vStubs_
Definition: InputData.h:58
tmtt::DegradeBend
Definition: DegradeBend.h:15
Frameworkfwd.h
tmtt::InputData::InputData
InputData(const edm::Event &iEvent, const edm::EventSetup &iSetup, const Settings *settings, StubWindowSuggest *stubWindowSuggest, const DegradeBend *degradeBend, const TrackerGeometry *trackerGeometry, const TrackerTopology *trackerTopology, const std::list< TrackerModule > &listTrackerModule, const edm::EDGetTokenT< TrackingParticleCollection > tpToken, const edm::EDGetTokenT< TTStubDetSetVec > stubToken, const edm::EDGetTokenT< TTStubAssMap > stubTruthToken, const edm::EDGetTokenT< TTClusterAssMap > clusterTruthToken, const edm::EDGetTokenT< reco::GenJetCollection > genJetToken)
Definition: InputData.cc:28
tmtt::InputData::degradeBend_
const DegradeBend * degradeBend_
Definition: InputData.h:69
tmtt::InputData
Definition: InputData.h:21
edm::Event
Definition: Event.h:73
tmtt
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
tmtt::InputData::vAllStubs_
std::list< Stub > vAllStubs_
Definition: InputData.h:64
tmtt::InputData::stubWindowSuggest_
StubWindowSuggest * stubWindowSuggest_
Definition: InputData.h:67
TrackerGeometry
Definition: TrackerGeometry.h:14