CMS 3D CMS Logo

TrackletCalculatorDisplaced.h
Go to the documentation of this file.
1 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletCalculatorDisplaced_h
2 #define L1Trigger_TrackFindingTracklet_interface_TrackletCalculatorDisplaced_h
3 
9 
10 #include <vector>
11 
12 namespace trklet {
13 
14  class Settings;
15  class Globals;
16  class MemoryBase;
17  class Stub;
18  class L1TStub;
19 
21  public:
22  TrackletCalculatorDisplaced(std::string name, Settings const& settings, Globals* global, unsigned int iSector);
23 
24  ~TrackletCalculatorDisplaced() override = default;
25 
27 
28  void addOutput(MemoryBase* memory, std::string output) override;
29  void addInput(MemoryBase* memory, std::string input) override;
30 
31  void execute();
32 
33  void addDiskProj(Tracklet* tracklet, int disk);
34  bool addLayerProj(Tracklet* tracklet, int layer);
35 
36  void addProjection(int layer, int iphi, TrackletProjectionsMemory* trackletprojs, Tracklet* tracklet);
37  void addProjectionDisk(int disk, int iphi, TrackletProjectionsMemory* trackletprojs, Tracklet* tracklet);
38 
39  bool LLLSeeding(const Stub* innerFPGAStub,
40  const L1TStub* innerStub,
41  const Stub* middleFPGAStub,
42  const L1TStub* middleStub,
43  const Stub* outerFPGAStub,
44  const L1TStub* outerStub);
45  bool DDLSeeding(const Stub* innerFPGAStub,
46  const L1TStub* innerStub,
47  const Stub* middleFPGAStub,
48  const L1TStub* middleStub,
49  const Stub* outerFPGAStub,
50  const L1TStub* outerStub);
51  bool LLDSeeding(const Stub* innerFPGAStub,
52  const L1TStub* innerStub,
53  const Stub* middleFPGAStub,
54  const L1TStub* middleStub,
55  const Stub* outerFPGAStub,
56  const L1TStub* outerStub);
57 
58  void exactproj(double rproj,
59  double rinv,
60  double phi0,
61  double d0,
62  double t,
63  double z0,
64  double r0,
65  double& phiproj,
66  double& zproj,
67  double& phider,
68  double& zder);
69 
70  void exactprojdisk(double zproj,
71  double rinv,
72  double,
73  double, //phi0 and d0 are not used.
74  double t,
75  double z0,
76  double x0,
77  double y0,
78  double& phiproj,
79  double& rproj,
80  double& phider,
81  double& rder);
82 
83  void exacttracklet(double r1,
84  double z1,
85  double phi1,
86  double r2,
87  double z2,
88  double phi2,
89  double r3,
90  double z3,
91  double phi3,
92  int take3,
93  double& rinv,
94  double& phi0,
95  double& d0,
96  double& t,
97  double& z0,
98  double phiproj[N_LAYER - 2],
99  double zproj[N_LAYER - 2],
100  double phiprojdisk[N_DISK],
101  double rprojdisk[N_DISK],
102  double phider[N_LAYER - 2],
103  double zder[N_LAYER - 2],
104  double phiderdisk[N_DISK],
105  double rderdisk[N_DISK]);
106 
107  private:
108  int TCIndex_;
109  int layer_;
110  int disk_;
111  double rproj_[N_LAYER - 2];
112  int lproj_[N_LAYER - 2];
113  double zproj_[N_DISK - 2];
114  int dproj_[N_DISK - 2];
115 
116  std::vector<double> toR_;
117  std::vector<double> toZ_;
118 
119  std::vector<AllStubsMemory*> innerallstubs_;
120  std::vector<AllStubsMemory*> middleallstubs_;
121  std::vector<AllStubsMemory*> outerallstubs_;
122  std::vector<StubTripletsMemory*> stubtriplets_;
123 
125 
126  //First index is layer/disk second is phi region
127  std::vector<std::vector<TrackletProjectionsMemory*> > trackletprojlayers_;
128  std::vector<std::vector<TrackletProjectionsMemory*> > trackletprojdisks_;
129  };
130 
131 }; // namespace trklet
132 #endif
trklet::TrackletCalculatorDisplaced::toZ_
std::vector< double > toZ_
Definition: TrackletCalculatorDisplaced.h:117
trklet::TrackletCalculatorDisplaced::outerallstubs_
std::vector< AllStubsMemory * > outerallstubs_
Definition: TrackletCalculatorDisplaced.h:121
trklet::TrackletParametersMemory
Definition: TrackletParametersMemory.h:17
input
static const std::string input
Definition: EdmProvDump.cc:48
trklet::TrackletCalculatorDisplaced::addProjection
void addProjection(int layer, int iphi, TrackletProjectionsMemory *trackletprojs, Tracklet *tracklet)
Definition: TrackletCalculatorDisplaced.cc:316
trklet::TrackletCalculatorDisplaced::innerallstubs_
std::vector< AllStubsMemory * > innerallstubs_
Definition: TrackletCalculatorDisplaced.h:119
trklet::TrackletCalculatorDisplaced::TrackletCalculatorDisplaced
TrackletCalculatorDisplaced(std::string name, Settings const &settings, Globals *global, unsigned int iSector)
Definition: TrackletCalculatorDisplaced.cc:16
AllStubsMemory.h
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:32
trklet::TrackletCalculatorDisplaced::stubtriplets_
std::vector< StubTripletsMemory * > stubtriplets_
Definition: TrackletCalculatorDisplaced.h:122
trklet::TrackletCalculatorDisplaced::disk_
int disk_
Definition: TrackletCalculatorDisplaced.h:110
trklet::TrackletProjectionsMemory
Definition: TrackletProjectionsMemory.h:15
trklet::Settings
Definition: Settings.h:26
trklet::L1TStub
Definition: L1TStub.h:12
trklet::TrackletCalculatorDisplaced::addLayerProj
bool addLayerProj(Tracklet *tracklet, int layer)
Definition: TrackletCalculatorDisplaced.cc:296
TrackletParametersMemory.h
trklet::TrackletCalculatorDisplaced::middleallstubs_
std::vector< AllStubsMemory * > middleallstubs_
Definition: TrackletCalculatorDisplaced.h:120
trklet::N_DISK
constexpr int N_DISK
Definition: Settings.h:20
trklet::TrackletCalculatorDisplaced::lproj_
int lproj_[N_LAYER - 2]
Definition: TrackletCalculatorDisplaced.h:112
trklet::Globals
Definition: Globals.h:32
trklet::Tracklet
Definition: Tracklet.h:28
TrackletProjectionsMemory.h
testProducerWithPsetDescEmpty_cfi.z2
z2
Definition: testProducerWithPsetDescEmpty_cfi.py:41
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
StubTripletsMemory.h
trklet::Stub
Definition: Stub.h:16
trklet::TrackletCalculatorDisplaced::layer_
int layer_
Definition: TrackletCalculatorDisplaced.h:109
trklet::TrackletCalculatorDisplaced::trackletprojlayers_
std::vector< std::vector< TrackletProjectionsMemory * > > trackletprojlayers_
Definition: TrackletCalculatorDisplaced.h:127
trklet::N_LAYER
constexpr int N_LAYER
Definition: Settings.h:19
trklet::TrackletCalculatorDisplaced::exacttracklet
void exacttracklet(double r1, double z1, double phi1, double r2, double z2, double phi2, double r3, double z3, double phi3, int take3, double &rinv, double &phi0, double &d0, double &t, double &z0, double phiproj[N_LAYER - 2], double zproj[N_LAYER - 2], double phiprojdisk[N_DISK], double rprojdisk[N_DISK], double phider[N_LAYER - 2], double zder[N_LAYER - 2], double phiderdisk[N_DISK], double rderdisk[N_DISK])
Definition: TrackletCalculatorDisplaced.cc:1417
HLTMuonOfflineAnalyzer_cfi.z0
z0
Definition: HLTMuonOfflineAnalyzer_cfi.py:98
OrderedSet.t
t
Definition: OrderedSet.py:90
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
trklet::TrackletCalculatorDisplaced::exactprojdisk
void exactprojdisk(double zproj, double rinv, double, double, double t, double z0, double x0, double y0, double &phiproj, double &rproj, double &phider, double &rder)
Definition: TrackletCalculatorDisplaced.cc:1378
trklet::TrackletCalculatorDisplaced::LLDSeeding
bool LLDSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *middleFPGAStub, const L1TStub *middleStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
Definition: TrackletCalculatorDisplaced.cc:1025
trklet::MemoryBase
Definition: MemoryBase.h:13
trklet::TrackletCalculatorDisplaced::addDiskProj
void addDiskProj(Tracklet *tracklet, int disk)
Definition: TrackletCalculatorDisplaced.cc:280
trklet::rinv
double rinv(double phi1, double phi2, double r1, double r2)
Definition: Util.h:167
trklet::TrackletCalculatorDisplaced::LLLSeeding
bool LLLSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *middleFPGAStub, const L1TStub *middleStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
Definition: TrackletCalculatorDisplaced.cc:351
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
trklet::TrackletCalculatorDisplaced::execute
void execute()
Definition: TrackletCalculatorDisplaced.cc:207
trklet::TrackletCalculatorDisplaced::zproj_
double zproj_[N_DISK - 2]
Definition: TrackletCalculatorDisplaced.h:113
trklet::TrackletCalculatorDisplaced::TCIndex_
int TCIndex_
Definition: TrackletCalculatorDisplaced.h:108
trklet::TrackletCalculatorDisplaced::rproj_
double rproj_[N_LAYER - 2]
Definition: TrackletCalculatorDisplaced.h:111
trklet
Definition: AllProjectionsMemory.h:9
trklet::TrackletCalculatorDisplaced::trackletprojdisks_
std::vector< std::vector< TrackletProjectionsMemory * > > trackletprojdisks_
Definition: TrackletCalculatorDisplaced.h:128
trklet::TrackletCalculatorDisplaced::~TrackletCalculatorDisplaced
~TrackletCalculatorDisplaced() override=default
ProcessBase.h
trklet::TrackletCalculatorDisplaced::dproj_
int dproj_[N_DISK - 2]
Definition: TrackletCalculatorDisplaced.h:114
trklet::TrackletCalculatorDisplaced::toR_
std::vector< double > toR_
Definition: TrackletCalculatorDisplaced.h:116
trklet::TrackletCalculatorDisplaced
Definition: TrackletCalculatorDisplaced.h:20
trklet::ProcessBase
Definition: ProcessBase.h:12
trklet::TrackletCalculatorDisplaced::exactproj
void exactproj(double rproj, double rinv, double phi0, double d0, double t, double z0, double r0, double &phiproj, double &zproj, double &phider, double &zder)
Definition: TrackletCalculatorDisplaced.cc:1350
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
trklet::TrackletCalculatorDisplaced::DDLSeeding
bool DDLSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *middleFPGAStub, const L1TStub *middleStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
Definition: TrackletCalculatorDisplaced.cc:699
trklet::TrackletCalculatorDisplaced::addOutput
void addOutput(MemoryBase *memory, std::string output) override
Definition: TrackletCalculatorDisplaced.cc:133
trklet::TrackletCalculatorDisplaced::trackletpars_
TrackletParametersMemory * trackletpars_
Definition: TrackletCalculatorDisplaced.h:124
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::TrackletCalculatorDisplaced::addInput
void addInput(MemoryBase *memory, std::string input) override
Definition: TrackletCalculatorDisplaced.cc:175
d0
static constexpr float d0
Definition: L1EGammaCrystalsEmulatorProducer.cc:84
trklet::TrackletCalculatorDisplaced::addOutputProjection
void addOutputProjection(TrackletProjectionsMemory *&outputProj, MemoryBase *memory)
Definition: TrackletCalculatorDisplaced.cc:128
memory
Definition: vlib.h:178
trklet::TrackletCalculatorDisplaced::addProjectionDisk
void addProjectionDisk(int disk, int iphi, TrackletProjectionsMemory *trackletprojs, Tracklet *tracklet)
Definition: TrackletCalculatorDisplaced.cc:331