|
using | CacheTypes = CacheContexts< T... > |
|
using | GlobalCache = typename CacheTypes::GlobalCache |
|
using | HasAbility = AbilityChecker< T... > |
|
using | InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache |
|
using | LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache |
|
using | LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > |
|
using | LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache |
|
using | RunCache = typename CacheTypes::RunCache |
|
using | RunContext = RunContextT< RunCache, GlobalCache > |
|
using | RunSummaryCache = typename CacheTypes::RunSummaryCache |
|
typedef FuncVariable< RECO_T, StringCutObjectSelector< RECO_T >, bool > | BoolVar |
|
typedef FuncVariable< RECO_T, StringObjectFunction< RECO_T >, double > | DoubleVar |
|
typedef FuncVariable< RECO_T, StringObjectFunction< RECO_T >, float > | FloatVar |
|
typedef FuncVariable< RECO_T, StringObjectFunction< RECO_T >, int16_t > | Int16Var |
|
typedef FuncVariable< RECO_T, StringObjectFunction< RECO_T >, int32_t > | IntVar |
|
typedef FuncVariable< RECO_T, StringObjectFunction< RECO_T >, uint16_t > | UInt16Var |
|
typedef FuncVariable< RECO_T, StringObjectFunction< RECO_T >, uint8_t > | UInt8Var |
|
typedef FuncVariable< RECO_T, StringObjectFunction< RECO_T >, uint32_t > | UIntVar |
|
const std::string | doc_ |
|
const bool | extension_ |
|
const std::string | name_ |
|
const bool | skipNonExistingSrc_ |
|
const edm::EDGetTokenT< edm::RangeMap< DETECTOR_T, edm::OwnVector< RECO_T > > > | src_ |
|
std::vector< std::unique_ptr< Variable< RECO_T > > > | vars_ |
|
template<class DETECTOR_T, class RECO_T, class GEOM_T>
class MuRecObjBaseProducer< DETECTOR_T, RECO_T, GEOM_T >
Helper class defining the generic interface of a muon digi Producer
- Author
- C. Battilana (INFN BO)
Definition at line 34 of file MuLocalRecoBaseProducer.h.
template<class DETECTOR_T , class RECO_T , class GEOM_T >
Definition at line 142 of file MuLocalRecoBaseProducer.h.
References ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), MuRecObjBaseProducer< DETECTOR_T, RECO_T, GEOM_T >::detIdVars_, SimpleFlatTableProducerBase< RECO_T, edm::RangeMap< DETECTOR_T, edm::OwnVector< RECO_T > > >::extension_, edm::RangeMap< ID, C, P >::get(), MuRecObjBaseProducer< DETECTOR_T, RECO_T, GEOM_T >::globalDirVars_, MuRecObjBaseProducer< DETECTOR_T, RECO_T, GEOM_T >::globalPosVars_, edm::RangeMap< ID, C, P >::id_begin(), edm::RangeMap< ID, C, P >::id_end(), edm::HandleBase::isValid(), MuRecObjBaseProducer< DETECTOR_T, RECO_T, GEOM_T >::m_geometry, SimpleFlatTableProducerBase< RECO_T, edm::RangeMap< DETECTOR_T, edm::OwnVector< RECO_T > > >::name_, HLTEGTnPMonitor_cfi::objs, FastTimerService_cff::range, TableParser::table, GeomDet::toGlobal(), trigObjTnPSource_cfi::var, and SimpleFlatTableProducerBase< RECO_T, edm::RangeMap< DETECTOR_T, edm::OwnVector< RECO_T > > >::vars_.
Referenced by MuRecObjBaseProducer< DETECTOR_T, RECO_T, GEOM_T >::produce().
144 std::vector<const RECO_T *>
objs;
145 std::vector<const DETECTOR_T *> detIds;
146 std::vector<const GlobalPoint *> globalPositions;
147 std::vector<const GlobalVector *> globalDirections;
150 std::list<DETECTOR_T> detIdObjs;
151 std::list<GlobalPoint> globalPointObjs;
152 std::list<GlobalVector> globalVectorObjs;
156 const auto detIdEnd = product->
id_end();
158 for (; detIdIt != detIdEnd; ++detIdIt) {
159 const auto &
range = product->
get(*detIdIt);
162 detIdObjs.push_back(*detIdIt);
163 std::fill_n(std::back_inserter(detIds),
range.second -
range.first, &detIdObjs.back());
165 for (
auto objIt{
range.first}; objIt !=
range.second; ++objIt) {
166 objs.push_back(&(*objIt));
167 globalPointObjs.push_back(geomDet->
toGlobal(objIt->localPosition()));
168 globalPositions.push_back(&globalPointObjs.back());
169 if constexpr (std::is_base_of_v<RecSegment, RECO_T>) {
170 globalVectorObjs.push_back(geomDet->
toGlobal(objIt->localDirection()));
171 globalDirections.push_back(&globalVectorObjs.back());
179 for (
const auto &
var : this->
vars_) {
191 if constexpr (std::is_base_of_v<RecSegment, RECO_T>) {
193 var->fill(globalDirections, *
table);
edm::ESHandle< GEOM_T > m_geometry
std::vector< std::unique_ptr< Variable< DETECTOR_T > > > detIdVars_
id_iterator id_end() const
last identifier iterator
range get(ID id, CMP comparator) const
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
std::vector< std::unique_ptr< Variable< RECO_T > > > vars_
std::vector< std::unique_ptr< Variable< GlobalPoint > > > globalPosVars_
id_iterator id_begin() const
first identifier iterator
std::vector< std::unique_ptr< Variable< GlobalVector > > > globalDirVars_