15 numTiltedLayerRings_ = pSetStubAlgo.
getParameter<vector<double>>(
"NTiltedRings");
16 windowSizeBarrelLayers_ = pSetStubAlgo.
getParameter<vector<double>>(
"BarrelCut");
17 const auto& pSetTiltedLayer = pSetStubAlgo.
getParameter<vector<edm::ParameterSet>>(
"TiltedBarrelCutSet");
18 const auto& pSetEncapDisks = pSetStubAlgo.
getParameter<vector<edm::ParameterSet>>(
"EndcapCutSet");
19 windowSizeTiltedLayersRings_.reserve(pSetTiltedLayer.size());
20 for (
const auto& pSet : pSetTiltedLayer) {
21 windowSizeTiltedLayersRings_.emplace_back(pSet.getParameter<vector<double>>(
"TiltedCut"));
23 windowSizeEndcapDisksRings_.reserve(pSetEncapDisks.size());
24 for (
const auto& pSet : pSetEncapDisks) {
25 windowSizeEndcapDisksRings_.emplace_back(pSet.getParameter<vector<double>>(
"EndcapCut"));
31 void StubFEWindows::setZero() {
32 std::fill(windowSizeBarrelLayers_.begin(), windowSizeBarrelLayers_.end(), 0.);
33 for (
auto& x : windowSizeEndcapDisksRings_)
35 for (
auto& y : windowSizeTiltedLayersRings_)
41 const double* StubFEWindows::storedWindowSize(
const TrackerTopology* trackerTopo,
const DetId& detId)
const {
44 const double* storedHalfWindow =
nullptr;
46 unsigned int layer = trackerTopo->
layer(detId);
51 if (
type != TrackerModule::BarrelModuleType::flat) {
53 corr = (numTiltedLayerRings_.at(layer) + 1) / 2.;
56 storedHalfWindow = &(windowSizeTiltedLayersRings_.at(layer).at(
ladder));
59 storedHalfWindow = &(windowSizeBarrelLayers_.at(layer));
66 storedHalfWindow = &(windowSizeEndcapDisksRings_.at(
wheel).at(
ring));
68 return storedHalfWindow;
76 return const_cast<double*>((static_cast<const StubFEWindows*>(
this))->storedWindowSize(trackerTopo, detId));