180 std::vector<std::string> simtags = pset.
getParameter<std::vector<std::string> >(
"srcSIM");
181 std::vector<std::string> gentags = pset.
getParameter<std::vector<std::string> >(
"srcGEN");
183 if (simtags.size() != gentags.size())
184 LogError(
"MixingInput") <<
"Generator and Simulation input lists are not matching each other" << endl;
186 for (std::vector<string>::iterator it = names.begin(); it != names.end(); ++it) {
188 if (!pstag.
exists(
"type"))
191 std::vector<InputTag>
tags = pstag.
getParameter<std::vector<InputTag> >(
"input");
194 for (
size_t itag = 0; itag < tags.size(); ++itag) {
196 std::vector<InputTag>
inputs;
199 if (
object ==
"HepMCProduct")
200 signal = gentags[
input];
202 signal = simtags[
input];
208 if (
object ==
"HepMCProduct") {
210 produces<CrossingFrame<HepMCProduct> >(
label);
211 consumes<HepMCProduct>(
tag);
212 }
else if (
object ==
"SimTrack") {
214 produces<CrossingFrame<SimTrack> >(
label);
215 consumes<std::vector<SimTrack> >(
tag);
216 }
else if (
object ==
"SimVertex") {
218 produces<CrossingFrame<SimVertex> >(
label);
219 consumes<std::vector<SimVertex> >(
tag);
220 }
else if (
object ==
"PSimHit") {
222 produces<CrossingFrame<PSimHit> >(
label);
223 consumes<std::vector<PSimHit> >(
tag);
224 }
else if (
object ==
"PCaloHit") {
226 produces<CrossingFrame<PCaloHit> >(
label);
227 consumes<std::vector<PCaloHit> >(
tag);
229 LogInfo(
"Error") <<
"What the hell is this object?!";
231 LogInfo(
"HiMixingModule") <<
"Will mix " <<
object <<
"s with InputTag= " << tag.
encode() <<
", label will be "
236 produces<PileupMixingContent>();
bool exists(std::string const ¶meterName) const
checks if a parameter exists
Log< level::Error, false > LogError
static std::string const input
std::vector< std::string > names
std::vector< std::string > getParameterNames() const
Log< level::Info, false > LogInfo
std::vector< HiMixingWorkerBase * > workers_
T getParameter(std::string const &) const