Skip to content

Commit 2c7833c

Browse files
committed
makortel 1
1 parent b2f097e commit 2c7833c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+1127
-876
lines changed

L1Trigger/TrackFindingTMTT/interface/L1track3D.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,7 @@ namespace tmtt {
8383
int iPhiSec,
8484
int iEtaReg)
8585
: settings_(settings),
86-
stubs_(stubs),
87-
stubsConst_(std::vector<const Stub*>()),
88-
bestStubs_(std::unordered_set<const Stub*>()),
86+
stubs_(std::move(stubs)),
8987
nLayers_(0),
9088
cellLocationHT_(0, 0),
9189
helixRphi_(qOverPt, phi0),
@@ -98,7 +96,6 @@ namespace tmtt {
9896
seedLayerType_(TrackletSeedType()),
9997
seedPS_(0),
10098
matchedTP_(nullptr),
101-
matchedStubs_(std::vector<const Stub*>()),
10299
nMatchedLayers_(0) {}
103100

104101
~L1track3D() override = default;

L1Trigger/TrackFindingTracklet/interface/ChannelAssignment.h

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,25 @@ namespace trklet {
1919
*/
2020
class ChannelAssignment {
2121
public:
22+
struct Config {
23+
std::vector<std::string> tmMuxOrder_;
24+
int tmNumLayers_;
25+
int tmWidthStubId_;
26+
int tmWidthCot_;
27+
int numComparisonModules_;
28+
int minIdenticalStubs_;
29+
std::vector<std::string> seedTypeNames_;
30+
int numChannelsStub_;
31+
std::vector<std::vector<int>> seedTypesSeedLayers_;
32+
std::vector<std::vector<int>> seedTypesProjectionLayers_;
33+
int maxNumProjectionLayers_;
34+
std::vector<int> channelEncoding_;
35+
std::vector<int> offsetsStubs_;
36+
int numSeedingLayers_;
37+
std::vector<int> tmMuxOrderInt_;
38+
};
2239
ChannelAssignment() {}
23-
ChannelAssignment(const edm::ParameterSet& iConfig, const tt::Setup* setup);
40+
ChannelAssignment(const Config& iConfig, const tt::Setup* setup);
2441
~ChannelAssignment() {}
2542
// helper class to store configurations
2643
const tt::Setup* setup() const { return setup_; }
@@ -31,7 +48,7 @@ namespace trklet {
3148
// number of used TB channels for stubs
3249
int numChannelsStub() const { return numChannelsStub_; }
3350
//
34-
std::vector<int> tmMuxOrder() const { return tmMuxOrderInt_; }
51+
const std::vector<int>& tmMuxOrder() const { return tmMuxOrderInt_; }
3552
// number of layers per rtack
3653
int tmNumLayers() const { return tmNumLayers_; }
3754
// number of bits used to represent stub id for projected stubs
@@ -68,8 +85,6 @@ namespace trklet {
6885
private:
6986
// helper class to store configurations
7087
const tt::Setup* setup_;
71-
// TM parameter
72-
edm::ParameterSet pSetTM_;
7388
//
7489
std::vector<std::string> tmMuxOrder_;
7590
// number of layers per rtack
@@ -78,8 +93,6 @@ namespace trklet {
7893
int tmWidthStubId_;
7994
//
8095
int tmWidthCot_;
81-
// DR parameter
82-
edm::ParameterSet pSetDR_;
8396
// number of comparison modules used in each DR node
8497
int numComparisonModules_;
8598
// min number of shared stubs to identify duplicates [default: 3]

L1Trigger/TrackFindingTracklet/interface/DataFormats.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ namespace trklet {
4646
DataFormat(bool twos, int width, double base, double range)
4747
: twos_(twos), width_(width), base_(base), range_(range) {}
4848
DataFormat() {}
49-
~DataFormat() {}
49+
virtual ~DataFormat() {}
5050
// converts int to bitvector
5151
TTBV ttBV(int i) const { return TTBV(i, width_, twos_); }
5252
// converts double to bitvector
@@ -193,7 +193,7 @@ namespace trklet {
193193
public:
194194
DataFormats();
195195
DataFormats(const ChannelAssignment* ca);
196-
~DataFormats() {}
196+
~DataFormats() = default;
197197
// converts bits to ntuple of variables
198198
template <typename... Ts>
199199
void convertStub(Process p, const tt::Frame& bv, std::tuple<Ts...>& data) const {
@@ -275,8 +275,6 @@ namespace trklet {
275275
if constexpr (it + 1 != sizeof...(Ts))
276276
attachTrack<it + 1>(p, data, ttBV);
277277
}
278-
// configuration during construction
279-
edm::ParameterSet iConfig_;
280278
// stored run-time constants
281279
const ChannelAssignment* channelAssignment_;
282280
// collection of unique formats

L1Trigger/TrackFindingTracklet/interface/DuplicateRemoval.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ namespace trklet {
2020
*/
2121
class DuplicateRemoval {
2222
public:
23-
DuplicateRemoval(const edm::ParameterSet& iConfig,
24-
const tt::Setup* setup_,
23+
DuplicateRemoval(const tt::Setup* setup_,
2524
const trackerTFP::LayerEncoding* layerEncoding,
2625
const DataFormats* dataFormats,
2726
const ChannelAssignment* channelAssignment,
@@ -72,6 +71,10 @@ namespace trklet {
7271
std::vector<Track*> input_;
7372
// dataformat used to calculate pitch over stubs radius
7473
DataFormat r_;
74+
// number of TM layers
75+
int tmNumLayers_;
76+
// phi data format
77+
DataFormat phi_;
7578
};
7679

7780
} // namespace trklet

L1Trigger/TrackFindingTracklet/interface/HitPatternHelper.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,14 @@ namespace hph {
4444
//Class that stores configuration for HitPatternHelper
4545
class Setup {
4646
public:
47-
Setup(const edm::ParameterSet& iConfig,
47+
// Configuration
48+
struct Config {
49+
bool hphDebug_;
50+
bool useNewKF_;
51+
double chosenRofZ_;
52+
std::vector<double> etaRegions_;
53+
};
54+
Setup(const Config& iConfig,
4855
const tt::Setup& setupTT,
4956
const trackerTFP::DataFormats& dataFormats,
5057
const trackerTFP::LayerEncoding& layerEncoding);
@@ -69,8 +76,6 @@ namespace hph {
6976
}
7077

7178
private:
72-
edm::ParameterSet iConfig_;
73-
edm::ParameterSet oldKFPSet_;
7479
const tt::Setup setupTT_; // Helper class to store TrackTrigger configuration
7580
const trackerTFP::DataFormats dataFormats_;
7681
const trackerTFP::DataFormat dfcot_;

L1Trigger/TrackFindingTracklet/interface/KalmanFilter.h

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ namespace trklet {
4242
class KalmanFilter {
4343
public:
4444
typedef State::Stub Stub;
45-
KalmanFilter(const edm::ParameterSet& iConfig,
46-
const tt::Setup* setup,
45+
KalmanFilter(const tt::Setup* setup,
4746
const DataFormats* dataFormats,
4847
KalmanFilterFormats* kalmanFilterFormats,
4948
tmtt::Settings* settings,
@@ -117,20 +116,12 @@ namespace trklet {
117116
// best state selection
118117
void accumulator();
119118
// updates state
120-
void update(State*& state) { use5ParameterFit_ ? update5(state) : update4(state); }
119+
void update(State*& state) { setup_->kfUse5ParameterFit() ? update5(state) : update4(state); }
121120
// updates state using 4 paramter fit
122121
void update4(State*& state);
123122
// updates state using 5 parameter fit
124123
void update5(State*& state);
125124

126-
// true if truncation is enbaled
127-
bool enableTruncation_;
128-
//
129-
bool use5ParameterFit_;
130-
//
131-
bool useSimmulation_;
132-
//
133-
bool useTTStubResiduals_;
134125
// provides run-time constants
135126
const tt::Setup* setup_;
136127
// provides dataformats
@@ -157,6 +148,8 @@ namespace trklet {
157148
std::vector<Track> finals_;
158149
// current layer used during state propagation
159150
int layer_;
151+
//
152+
std::vector<double> zTs_;
160153
};
161154

162155
} // namespace trklet

L1Trigger/TrackFindingTracklet/interface/KalmanFilterFormats.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ namespace trklet {
7474
end
7575
};
7676
inline constexpr int operator+(VariableKF v) { return static_cast<int>(v); }
77-
inline constexpr VariableKF operator++(VariableKF v) { return VariableKF(+v + 1); }
77+
inline constexpr VariableKF operator+(VariableKF v, int i) { return VariableKF(+v + i); }
7878

7979
class DataFormatKF {
8080
public:

L1Trigger/TrackFindingTracklet/interface/TrackFindingProcessor.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ namespace trklet {
1616
// Class to format final tfp output and to prodcue final TTTrackCollection
1717
class TrackFindingProcessor {
1818
public:
19-
TrackFindingProcessor(const edm::ParameterSet& iConfig,
20-
const tt::Setup* setup_,
19+
TrackFindingProcessor(const tt::Setup* setup_,
2120
const DataFormats* dataFormats,
2221
const trackerTFP::TrackQuality* trackQuality);
2322
~TrackFindingProcessor() {}
@@ -75,8 +74,6 @@ namespace trklet {
7574
void produce(std::vector<std::deque<Track*>>& inputs, tt::StreamsTrack& outputs) const;
7675
// produce TTTracks
7776
void produce(const tt::StreamsTrack& inputs, tt::TTTracks& ouputs) const;
78-
// true if truncation is enbaled
79-
bool enableTruncation_;
8077
// provides run-time constants
8178
const tt::Setup* setup_;
8279
// provides data formats

L1Trigger/TrackFindingTracklet/interface/TrackMultiplexer.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ namespace trklet {
1919
*/
2020
class TrackMultiplexer {
2121
public:
22-
TrackMultiplexer(const edm::ParameterSet& iConfig,
23-
const tt::Setup* setup_,
22+
TrackMultiplexer(const tt::Setup* setup_,
2423
const DataFormats* dataFormats,
2524
const ChannelAssignment* channelAssignment,
2625
const Settings* settings,

L1Trigger/TrackFindingTracklet/plugins/ProducerChannelAssignment.cc

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,35 @@ namespace trklet {
2626
unique_ptr<ChannelAssignment> produce(const ChannelAssignmentRcd& rcd);
2727

2828
private:
29-
const ParameterSet iConfig_;
29+
ChannelAssignment::Config iConfig_;
3030
ESGetToken<Setup, SetupRcd> esGetToken_;
3131
};
3232

33-
ProducerChannelAssignment::ProducerChannelAssignment(const ParameterSet& iConfig) : iConfig_(iConfig) {
33+
ProducerChannelAssignment::ProducerChannelAssignment(const ParameterSet& iConfig) {
3434
auto cc = setWhatProduced(this);
3535
esGetToken_ = cc.consumes();
36+
iConfig_.seedTypeNames_ = iConfig.getParameter<vector<string>>("SeedTypes");
37+
iConfig_.channelEncoding_ = iConfig.getParameter<vector<int>>("IRChannelsIn");
38+
const edm::ParameterSet& pSetTM = iConfig.getParameter<ParameterSet>("TM");
39+
iConfig_.tmMuxOrder_ = pSetTM.getParameter<vector<string>>("MuxOrder");
40+
iConfig_.tmNumLayers_ = pSetTM.getParameter<int>("NumLayers");
41+
iConfig_.tmWidthStubId_ = pSetTM.getParameter<int>("WidthStubId");
42+
iConfig_.tmWidthCot_ = pSetTM.getParameter<int>("WidthCot");
43+
const edm::ParameterSet& pSetDR = iConfig.getParameter<ParameterSet>("DR");
44+
iConfig_.numComparisonModules_ = pSetDR.getParameter<int>("NumComparisonModules");
45+
iConfig_.minIdenticalStubs_ = pSetDR.getParameter<int>("MinIdenticalStubs");
46+
iConfig_.tmMuxOrderInt_.reserve(iConfig_.tmMuxOrder_.size());
47+
for (const string& s : iConfig_.tmMuxOrder_)
48+
iConfig_.tmMuxOrderInt_.push_back(
49+
distance(iConfig_.tmMuxOrder_.begin(), find(iConfig_.tmMuxOrder_.begin(), iConfig_.tmMuxOrder_.end(), s)));
50+
const ParameterSet& pSetSeedTypesSeedLayers = iConfig.getParameter<ParameterSet>("SeedTypesSeedLayers");
51+
const ParameterSet& pSetSeedTypesProjectionLayers = iConfig.getParameter<ParameterSet>("SeedTypesProjectionLayers");
52+
iConfig_.seedTypesSeedLayers_.reserve(iConfig_.seedTypeNames_.size());
53+
iConfig_.seedTypesProjectionLayers_.reserve(iConfig_.seedTypeNames_.size());
54+
for (const string& s : iConfig_.seedTypeNames_) {
55+
iConfig_.seedTypesSeedLayers_.emplace_back(pSetSeedTypesSeedLayers.getParameter<vector<int>>(s));
56+
iConfig_.seedTypesProjectionLayers_.emplace_back(pSetSeedTypesProjectionLayers.getParameter<vector<int>>(s));
57+
}
3658
}
3759

3860
unique_ptr<ChannelAssignment> ProducerChannelAssignment::produce(const ChannelAssignmentRcd& rcd) {

0 commit comments

Comments
 (0)