44 for (
const auto &
f : other.theFactories) {
60 :
TrajectoryFactoryBase(config, iC), theUseAllFactories(config.getParameter<bool>(
"useAllFactories")) {
61 vector<string> factoryNames = config.
getParameter<vector<string>>(
"TrajectoryFactoryNames");
62 for (
auto const &factoryName : factoryNames) {
64 std::unique_ptr<TObjArray> namePset(TString(factoryName.c_str()).Tokenize(
","));
65 if (namePset->GetEntriesFast() != 2) {
66 throw cms::Exception(
"BadConfig") <<
"@SUB=CombinedTrajectoryFactory"
67 <<
"TrajectoryFactoryNames must contain 2 comma "
68 <<
"separated strings, but is '" << factoryName <<
"'";
83 tmpTrajectories = factory->trajectories(setup, tracks, beamSpot);
84 trajectories.insert(trajectories.end(), tmpTrajectories.begin(), tmpTrajectories.end());
102 tmpTrajectories = factory->trajectories(setup, tracks, external, beamSpot);
103 trajectories.insert(trajectories.end(), tmpTrajectories.begin(), tmpTrajectories.end());
auto const & tracks
cannot be loose
CombinedTrajectoryFactory * clone() const override
CombinedTrajectoryFactory(const edm::ParameterSet &config, edm::ConsumesCollector &iC)
std::vector< std::unique_ptr< TrajectoryFactoryBase > > theFactories
CombinedTrajectoryFactory(const CombinedTrajectoryFactory &other)
const ReferenceTrajectoryCollection trajectories(const edm::EventSetup &setup, const ConstTrajTrackPairCollection &tracks, const reco::BeamSpot &beamSpot) const override
AlignmentAlgorithmBase::ConstTrajTrackPairCollection ConstTrajTrackPairCollection
T getParameter(std::string const &) const
tuple config
parse the configuration file
std::vector< TrajectoryStateOnSurface > ExternalPredictionCollection
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::vector< ReferenceTrajectoryPtr > ReferenceTrajectoryCollection
~CombinedTrajectoryFactory() override