CMS 3D CMS Logo

GctUnpackCollections.cc
Go to the documentation of this file.
2 
4  : m_event(event),
5  m_gctFibres(new L1GctFibreCollection()), // GCT input collections
6  m_rctEm(new L1CaloEmCollection()),
7  m_rctCalo(new L1CaloRegionCollection()),
8  m_gctInternEm(new L1GctInternEmCandCollection()), // GCT internal collections
9  m_gctInternJets(new L1GctInternJetDataCollection()),
10  m_gctInternEtSums(new L1GctInternEtSumCollection()),
11  m_gctInternHFData(new L1GctInternHFDataCollection()),
12  m_gctInternHtMiss(new L1GctInternHtMissCollection()),
13  m_gctIsoEm(new L1GctEmCandCollection()), // GCT output collections
14  m_gctNonIsoEm(new L1GctEmCandCollection()),
15  m_gctCenJets(new L1GctJetCandCollection()),
16  m_gctForJets(new L1GctJetCandCollection()),
17  m_gctTauJets(new L1GctJetCandCollection()),
18  m_gctHfBitCounts(new L1GctHFBitCountsCollection()),
19  m_gctHfRingEtSums(new L1GctHFRingEtSumsCollection()),
20  m_gctEtTot(new L1GctEtTotalCollection()),
21  m_gctEtHad(new L1GctEtHadCollection()),
22  m_gctEtMiss(new L1GctEtMissCollection()),
23  m_gctHtMiss(new L1GctHtMissCollection()),
24  m_gctJetCounts(new L1GctJetCountsCollection()), // Deprecated (empty collection still needed by GT)
25  m_errors(new L1TriggerErrorCollection()) // Misc
26 {
27  m_gctIsoEm->reserve(4);
28  m_gctCenJets->reserve(4);
29  m_gctForJets->reserve(4);
30  m_gctTauJets->reserve(4);
31  // ** DON'T RESERVE SPACE IN VECTORS FOR DEBUG UNPACK ITEMS! **
32 }
33 
35  // GCT input collections
39 
40  // GCT internal collections
46 
47  // GCT output collections
48  m_event.put(std::move(m_gctIsoEm), "isoEm");
49  m_event.put(std::move(m_gctNonIsoEm), "nonIsoEm");
50  m_event.put(std::move(m_gctCenJets), "cenJets");
51  m_event.put(std::move(m_gctForJets), "forJets");
52  m_event.put(std::move(m_gctTauJets), "tauJets");
59  m_event.put(std::move(m_gctJetCounts)); // Deprecated (empty collection still needed by GT)
60 
61  // Misc
63 }
64 
65 std::ostream& operator<<(std::ostream& os, const GctUnpackCollections& rhs) {
66  // GCT input collections
67  os << "Read " << rhs.gctFibres()->size() << " GCT raw fibre data\n"
68  << "Read " << rhs.rctEm()->size() << " RCT EM candidates\n"
69  << "Read " << rhs.rctCalo()->size()
70  << " RCT Calo Regions\n"
71 
72  // GCT internal collections
73  << "Read " << rhs.gctInternEm()->size() << " GCT intermediate EM candidates\n"
74  << "Read " << rhs.gctInternJets()->size() << " GCT intermediate jet candidates\n"
75  << "Read " << rhs.gctInternEtSums()->size() << " GCT intermediate et sums\n"
76  << "Read " << rhs.gctInternHFData()->size() << " GCT intermediate HF data\n"
77  << "Read " << rhs.gctInternHtMiss()->size()
78  << " GCT intermediate Missing Ht\n"
79 
80  // GCT output collections
81  << "Read " << rhs.gctIsoEm()->size() << " GCT iso EM candidates\n"
82  << "Read " << rhs.gctNonIsoEm()->size() << " GCT non-iso EM candidates\n"
83  << "Read " << rhs.gctCenJets()->size() << " GCT central jet candidates\n"
84  << "Read " << rhs.gctForJets()->size() << " GCT forward jet candidates\n"
85  << "Read " << rhs.gctTauJets()->size() << " GCT tau jet candidates\n"
86  << "Read " << rhs.gctHfBitCounts()->size() << " GCT HF ring bit counts\n"
87  << "Read " << rhs.gctHfRingEtSums()->size() << " GCT HF ring et sums\n"
88  << "Read " << rhs.gctEtTot()->size() << " GCT total et\n"
89  << "Read " << rhs.gctEtHad()->size() << " GCT ht\n"
90  << "Read " << rhs.gctEtMiss()->size() << " GCT met\n"
91  << "Read " << rhs.gctHtMiss()->size() << " GCT mht";
92 
93  // Any point in putting in an m_errors()->size()? Not sure.
94 
95  return os;
96 }
std::vector< L1CaloEmCand > L1CaloEmCollection
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
std::unique_ptr< L1GctInternJetDataCollection > m_gctInternJets
L1GctInternEtSumCollection *const gctInternEtSums() const
Internal Et Sum collection.
std::unique_ptr< L1GctInternEtSumCollection > m_gctInternEtSums
std::vector< L1TriggerError > L1TriggerErrorCollection
std::vector< L1GctEtMiss > L1GctEtMissCollection
std::unique_ptr< L1GctEmCandCollection > m_gctNonIsoEm
edm::Event & m_event
The event the collections will be put into on destruction of the GctUnpackCollections instance...
std::vector< L1GctHFRingEtSums > L1GctHFRingEtSumsCollection
std::unique_ptr< L1CaloRegionCollection > m_rctCalo
Input calo regions.
std::unique_ptr< L1CaloEmCollection > m_rctEm
Input electrons.
std::vector< L1GctEtHad > L1GctEtHadCollection
std::vector< L1GctJetCounts > L1GctJetCountsCollection
std::vector< L1GctInternHtMiss > L1GctInternHtMissCollection
std::unique_ptr< L1GctFibreCollection > m_gctFibres
Raw fibre input to the GCT.
L1GctHtMissCollection *const gctHtMiss() const
GCT output: Missing Ht collection.
L1GctEmCandCollection *const gctIsoEm() const
GCT output: Isolated EM candidate collection.
std::vector< L1GctInternEmCand > L1GctInternEmCandCollection
L1GctHFRingEtSumsCollection *const gctHfRingEtSums() const
GCT output: Hadronic-Forward ring-sums collection.
L1CaloRegionCollection *const rctCalo() const
Input calo regions from the RCT to the GCT.
std::vector< L1GctFibreWord > L1GctFibreCollection
std::vector< L1GctEtTotal > L1GctEtTotalCollection
std::vector< L1GctInternHFData > L1GctInternHFDataCollection
std::vector< L1GctHFBitCounts > L1GctHFBitCountsCollection
std::vector< L1GctJetCand > L1GctJetCandCollection
L1GctEtHadCollection *const gctEtHad() const
GCT output: Hadronic transverse-energy (Ht) collection.
L1GctInternEmCandCollection *const gctInternEm() const
Internal EM candidate collection.
std::ostream & operator<<(std::ostream &os, const GctUnpackCollections &rhs)
std::unique_ptr< L1GctInternHtMissCollection > m_gctInternHtMiss
L1GctJetCandCollection *const gctTauJets() const
GCT output: Tau Jets collection.
L1GctEmCandCollection *const gctNonIsoEm() const
GCT output: Non-isolated EM candidate collection.
std::unique_ptr< L1TriggerErrorCollection > m_errors
std::unique_ptr< L1GctInternHFDataCollection > m_gctInternHFData
RAII and useful methods for the many dataformat collections required by the GCT unpacker.
std::unique_ptr< L1GctHtMissCollection > m_gctHtMiss
std::vector< L1GctHtMiss > L1GctHtMissCollection
std::unique_ptr< L1GctEtMissCollection > m_gctEtMiss
L1GctHFBitCountsCollection *const gctHfBitCounts() const
GCT output: Hadronic-Forward bit-counts collection.
std::unique_ptr< L1GctEtHadCollection > m_gctEtHad
std::unique_ptr< L1GctJetCandCollection > m_gctTauJets
std::unique_ptr< L1GctInternEmCandCollection > m_gctInternEm
std::unique_ptr< L1GctJetCandCollection > m_gctForJets
L1GctJetCandCollection *const gctCenJets() const
GCT output: Central Jets collection.
std::vector< L1GctInternJetData > L1GctInternJetDataCollection
L1GctInternHtMissCollection *const gctInternHtMiss() const
Internal missing Ht collection.
std::unique_ptr< L1GctJetCountsCollection > m_gctJetCounts
std::unique_ptr< L1GctHFRingEtSumsCollection > m_gctHfRingEtSums
L1GctInternJetDataCollection *const gctInternJets() const
Internal Jet candidate collection.
std::unique_ptr< L1GctEmCandCollection > m_gctIsoEm
L1GctJetCandCollection *const gctForJets() const
GCT output: Forward Jets collection.
~GctUnpackCollections()
Destructor - the last action of this object is to put the gct collections into the event provided on ...
L1CaloEmCollection *const rctEm() const
Input electrons from the RCT to the GCT.
std::vector< L1GctInternEtSum > L1GctInternEtSumCollection
std::vector< L1CaloRegion > L1CaloRegionCollection
L1GctEtMissCollection *const gctEtMiss() const
GCT output: Missing Et collection.
L1GctFibreCollection *const gctFibres() const
Raw fibre input to the GCT.
L1GctInternHFDataCollection *const gctInternHFData() const
Internal Hadronic-Forward bit-counts/ring-sums data collection.
std::unique_ptr< L1GctJetCandCollection > m_gctCenJets
def move(src, dest)
Definition: eostools.py:511
L1GctEtTotalCollection *const gctEtTot() const
GCT output: Total Et collection.
Definition: event.py:1
std::unique_ptr< L1GctHFBitCountsCollection > m_gctHfBitCounts
std::vector< L1GctEmCand > L1GctEmCandCollection
GctUnpackCollections(edm::Event &event)
Construct with an event. The collections get put into the event when the object instance goes out of ...
std::unique_ptr< L1GctEtTotalCollection > m_gctEtTot