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
cms::CompoundJetProducer::writeCompoundJets
void writeCompoundJets(edm::Event &iEvent, edm::EventSetup const &iSetup)
function template to write out the outputs
Definition: CompoundJetProducer.cc:45
cms::CompoundJetProducer::output
void output(edm::Event &iEvent, edm::EventSetup const &iSetup) override
Definition: CompoundJetProducer.cc:22
VirtualJetProducer
Definition: VirtualJetProducer.h:35
VirtualJetProducer.h
cms::CompoundJetProducer::inputTowers
void inputTowers() override
compound fastjet::PseudoJets
Definition: CompoundJetProducer.cc:17
edm::ParameterSet
Definition: ParameterSet.h:47
iEvent
int iEvent
Definition: GenABIO.cc:224
cms::CompoundJetProducer::fjCompoundJets_
std::vector< CompoundPseudoJet > fjCompoundJets_
Definition: CompoundJetProducer.h:46
edm::EventSetup
Definition: EventSetup.h:58
cms::CompoundJetProducer::~CompoundJetProducer
~CompoundJetProducer() override
Definition: CompoundJetProducer.h:43
CompoundPseudoJet.h
cms::CompoundJetProducer
Definition: CompoundJetProducer.h:39
edm::Event
Definition: Event.h:73
cms::CompoundJetProducer::CompoundJetProducer
CompoundJetProducer(const edm::ParameterSet &ps)
Definition: CompoundJetProducer.cc:12
cms
Namespace of DDCMS conversion namespace.
Definition: ProducerAnalyzer.cc:21