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 
9 #include <list>
10 
11 namespace tmtt {
12 
13  class Settings;
14  class StubWindowSuggest;
15  class DegradeBend;
16 
17  //=== Unpacks stub & tracking particle (truth) data into user-friendlier format in Stub & TP classes.
18  //=== Also makes B-field available to Settings class.
19 
20  class InputData {
21  public:
23  const edm::EventSetup& iSetup,
24  const Settings* settings,
25  StubWindowSuggest* stubWindowSuggest,
26  const DegradeBend* degradeBend,
27  const TrackerGeometry* trackerGeometry,
28  const TrackerTopology* trackerTopology,
29  const std::list<TrackerModule>& listTrackerModule,
31  const edm::EDGetTokenT<TTStubDetSetVec> stubToken,
32  const edm::EDGetTokenT<TTStubAssMap> stubTruthToken,
33  const edm::EDGetTokenT<TTClusterAssMap> clusterTruthToken,
35 
36  // Info about each tracker module
37  const std::list<TrackerModule>& trackerModules() const { return trackerModules_; };
38 
39  // Get tracking particles
40  const std::list<TP>& getTPs() const { return vTPs_; }
41  // Get stubs that would be output by the front-end readout electronics
42  const std::list<Stub*>& stubs() const { return vStubs_; }
43  // Ditto but const
44  const std::list<const Stub*>& stubsConst() const { return vStubsConst_; }
45 
46  //--- of minor importance ...
47 
48  // 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).
49  const std::list<Stub>& allStubs() const { return vAllStubs_; }
50 
51  private:
52  bool enableMCtruth_; // Notes if job will use MC truth info.
53 
54  std::list<TrackerModule> trackerModules_; // Info about each tracker module.
55 
56  std::list<TP> vTPs_; // tracking particles
57  std::list<Stub*> vStubs_; // stubs that would be output by the front-end readout electronics.
58  std::list<const Stub*> vStubsConst_; // ditto but const
59 
60  //--- Used for a few minor studies ...
61 
62  // 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).
63  std::list<Stub> vAllStubs_;
64 
65  // Recommends optimal FE stub window sizes.
67  // Degrades bend to allow for FE stub bend encoding.
69  };
70 
71 } // namespace tmtt
72 #endif
const std::list< TrackerModule > & trackerModules() const
Definition: InputData.h:37
const DegradeBend * degradeBend_
Definition: InputData.h:68
StubWindowSuggest * stubWindowSuggest_
Definition: InputData.h:66
const std::list< TP > & getTPs() const
Definition: InputData.h:40
const std::list< Stub * > & stubs() const
Definition: InputData.h:42
const std::list< const Stub * > & stubsConst() const
Definition: InputData.h:44
std::list< const Stub * > vStubsConst_
Definition: InputData.h:58
int iEvent
Definition: GenABIO.cc:224
bool enableMCtruth_
Definition: InputData.h:52
const std::list< Stub > & allStubs() const
Definition: InputData.h:49
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)
std::list< TrackerModule > trackerModules_
Definition: InputData.h:54
=== This is the base class for the linearised chi-squared track fit algorithms.
Definition: Array2D.h:16
std::list< Stub > vAllStubs_
Definition: InputData.h:63
std::list< Stub * > vStubs_
Definition: InputData.h:57
std::list< TP > vTPs_
Definition: InputData.h:56