46 produces<CandidateCollection >(alias =
decayChain_+
"Mother").setBranchAlias(alias);
50 collection <<
decayChain_ <<
"Lepton" << index.str();
51 valias.push_back(collection.str());
52 produces<CandidateCollection >(
valias.at(j)).setBranchAlias(
valias.at(j) );
68 for( CandidateCollection::const_iterator
p = genCandidatesCollection->
begin();
p != genCandidatesCollection->
end(); ++
p ) {
70 mothercands->push_back(
p->clone());
71 size_t ndau =
p->numberOfDaughters();
72 for(
size_t i = 0;
i < ndau; ++
i){
73 for (
size_t j = 0; j < daughtersize; ++j){
75 daughterscands->push_back(
p->daughter(
i)->clone());
85 for (
unsigned int row = 0; row < daughtersize; ++ row ){
87 leptonscands_->push_back((daughterscands->begin()+row)->
clone());
void produce(edm::Event &, const edm::EventSetup &) override
ParticleDecayProducer(const edm::ParameterSet &)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< reco::CandidateCollection > genCandidatesToken_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::vector< std::string > valias
~ParticleDecayProducer() override
std::vector< int > daughtersPdgId_
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)