20 LogDebug(
"SubEventMothers")<<
"Pdg ID : "<<pdg<<endl;
21 if(st == 3 || pdg < 9 || pdg == 21){
22 LogDebug(
"SubEventMothers")<<
"Sub-Collision Found! Pdg ID : "<<pdg<<endl;
27 if(!m1)
LogDebug(
"SubEventMothers")<<
"No Mother, particle is : "<<pdg<<
" with status "<<st<<endl;
39 produces<reco::BasicJetCollection>();
49 std::vector<edm::Ptr<reco::Candidate> >::const_iterator inBegin =
inputs_.begin(),
51 for (;
i != inEnd; ++
i ) {
61 LogDebug(
"SubEventContainers")<<
"SubEvent is : "<<subevent<<endl;
74 subInputs_[subevent].push_back(fastjet::PseudoJet(input->px(),input->py(),input->pz(),
77 subInputs_[subevent].back().set_user_index(
i - inBegin);
84 LogDebug(
"VirtualJetProducer") <<
"Entered produce\n";
95 for (
size_t i = 0;
i < inputsHandle->size(); ++
i) {
96 inputs_.push_back(inputsHandle->ptrAt(
i));
98 LogDebug(
"VirtualJetProducer") <<
"Got inputs\n";
107 std::auto_ptr<std::vector<GenJet> >
jets(
new std::vector<GenJet>() );
110 LogDebug(
"VirtualJetProducer") <<
"Inputted towers\n";
114 for(
size_t isub = 0; isub < nsub; ++isub){
123 LogDebug(
"SubEventJetProducer") <<
"Wrote jets\n";
137 using namespace reco;
139 for (
unsigned int ijet=0;ijet<
fjJets_.size();++ijet) {
142 const fastjet::PseudoJet& fjJet =
fjJets_[ijet];
144 std::vector<fastjet::PseudoJet> fjConstituents =
147 std::vector<CandidatePtr> constituents =
150 double px=fjJet.px();
151 double py=fjJet.py();
152 double pz=fjJet.pz();
160 constituents, iSetup);
virtual void inputTowers()
T getUntrackedParameter(std::string const &, T const &) const
reco::Particle::Point vertex_
std::vector< int > hydroTag_
virtual const Candidate * mother(size_type i=0) const =0
return pointer to mother
virtual std::vector< reco::CandidatePtr > getConstituents(const std::vector< fastjet::PseudoJet > &fjConstituents)
std::vector< fastjet::PseudoJet > fjJets_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::CandidateView > input_cand_token_
virtual void setPileup(float fEnergy)
Set pileup energy contribution as calculated by algorithm.
#define DEFINE_FWK_MODULE(type)
T const * get() const
Returns C++ pointer to the item.
virtual int status() const =0
status word
static std::string const input
std::vector< reco::GenJet > * subJets_
virtual bool isAnomalousTower(reco::CandidatePtr input)
virtual void setJetArea(float fArea)
set jet area
std::vector< fastjet::PseudoJet > fjInputs_
std::vector< edm::Ptr< reco::Candidate > > inputs_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
ClusterSequencePtr fjClusterSeq_
Abs< T >::type abs(const T &t)
Jets made from MC generator particles.
std::vector< int > nSubParticles_
virtual int pdgId() const =0
PDG identifier.
void produce(edm::Event &, const edm::EventSetup &)
std::vector< std::vector< fastjet::PseudoJet > > subInputs_
virtual const Candidate * mother(size_type=0) const
return mother at a given position, i = 0, ... numberOfMothers() - 1 (read only mode) ...
boost::shared_ptr< fastjet::ClusterSequence > ClusterSequencePtr
math::PtEtaPhiELorentzVectorF LorentzVector
void runAlgorithm(edm::Event &, const edm::EventSetup &)
void writeSpecific(reco::CaloJet &jet, reco::Particle::LorentzVector const &p4, reco::Particle::Point const &point, std::vector< reco::CandidatePtr > const &constituents, edm::EventSetup const &c)
JetDefPtr fjJetDefinition_