CMS 3D CMS Logo

CompoundJetProducer.h
Go to the documentation of this file.
1 #ifndef RecoJets_JetProducers_CompoundJetProducer_h
2 #define RecoJets_JetProducers_CompoundJetProducer_h
3 
4 /* *********************************************************
5  \class CompoundJetProducer
6 
7  \brief Jet producer to produce compound jets (i.e. jets of jets)
8 
9  \author Salvatore Rappoccio
10  \version
11 
12  Notes on implementation:
13 
14  Because the BaseJetProducer only allows the user to produce
15  one jet collection at a time, this algorithm cannot
16  fit into that paradigm.
17 
18  All of the "hard" jets are of type BasicJet, since
19  they are "jets of jets". The subjets will be either
20  CaloJets, GenJets, etc.
21 
22  In order to avoid a templatization of the entire
23  EDProducer itself, we only use a templated method
24  to write out the subjets to the event record,
25  and to use that information to write out the
26  hard jets to the event record.
27 
28 Modifications:
29  25Feb09: Updated to use anomalous cells, also
30  included corrected CaloTowers for the PV.
31 
32  ************************************************************/
33 
35 
37 
38 namespace cms {
40  public:
42 
43  ~CompoundJetProducer() override {}
44 
45  protected:
46  std::vector<CompoundPseudoJet> fjCompoundJets_;
47 
48  protected:
49  // overridden inputTowers method. Resets fjCompoundJets_ and
50  // calls VirtualJetProducer::inputTowers
51  void inputTowers() override;
52 
55  void output(edm::Event& iEvent, edm::EventSetup const& iSetup) override;
56  template <typename T>
57  void writeCompoundJets(edm::Event& iEvent, edm::EventSetup const& iSetup);
58  };
59 
60 } // namespace cms
61 
62 #endif
void writeCompoundJets(edm::Event &iEvent, edm::EventSetup const &iSetup)
function template to write out the outputs
void output(edm::Event &iEvent, edm::EventSetup const &iSetup) override
CompoundJetProducer(const edm::ParameterSet &ps)
int iEvent
Definition: GenABIO.cc:224
void inputTowers() override
compound fastjet::PseudoJets
std::vector< CompoundPseudoJet > fjCompoundJets_
Namespace of DDCMS conversion namespace.