182 std::vector<std::string> simtags = pset.
getParameter<std::vector<std::string> >(
"srcSIM");
183 std::vector<std::string> gentags = pset.
getParameter<std::vector<std::string> >(
"srcGEN");
185 if(simtags.size() != gentags.size())
LogError(
"MixingInput")<<
"Generator and Simulation input lists are not matching each other"<<endl;
187 for (std::vector<string>::iterator it=names.begin();it!= names.end();++it){
190 if (!pstag.
exists(
"type"))
continue;
191 std::string
object = pstag.
getParameter<std::string>(
"type");
192 std::vector<InputTag>
tags=pstag.
getParameter<std::vector<InputTag> >(
"input");
195 for(
size_t itag = 0; itag < tags.size(); ++itag){
197 std::vector<InputTag> inputs;
200 if (
object==
"HepMCProduct") signal = gentags[
input];
201 else signal = simtags[
input];
207 if (
object==
"HepMCProduct"){
209 produces<CrossingFrame<HepMCProduct> >(
label);
210 }
else if (
object==
"SimTrack"){
212 produces<CrossingFrame<SimTrack> >(
label);
213 }
else if (
object==
"SimVertex"){
215 produces<CrossingFrame<SimVertex> >(
label);
216 }
else if (
object==
"PSimHit"){
218 produces<CrossingFrame<PSimHit> >(
label);
219 }
else if (
object==
"PCaloHit"){
221 produces<CrossingFrame<PCaloHit> >(
label);
222 }
else LogInfo(
"Error")<<
"What the hell is this object?!";
224 LogInfo(
"HiMixingModule") <<
"Will mix "<<
object<<
"s with InputTag= "<<tag.
encode()<<
", label will be "<<
label;
228 produces<PileupMixingContent>();
T getParameter(std::string const &) const
bool exists(std::string const ¶meterName) const
checks if a parameter exists
std::vector< std::string > getParameterNames() const
std::vector< HiMixingWorkerBase * > workers_
static const HistoName names[]