![]() |
![]() |
#include <L1TStage2uGTCaloLayer2Comp.h>
Public Member Functions | |
L1TStage2uGTCaloLayer2Comp (const edm::ParameterSet &ps) | |
![]() | |
DQMEDAnalyzer ()=default | |
DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete | |
DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete | |
~DQMEDAnalyzer () override=default | |
Protected Member Functions | |
void | analyze (const edm::Event &, const edm::EventSetup &) override |
void | bookHistograms (DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &) override |
Private Types | |
enum | denumBins { EVENTS1 = 1, EVENTS2, EVENTS3, EVENTS4, EVENTS5, JETS1, JETS2, JETS3, EGS1, EGS2, EGS3, TAUS1, TAUS2, TAUS3, SUMS } |
enum | numeratorBins { EVENTBAD = 1, EVENTBADJETCOL, EVENTBADEGCOL, EVENTBADTAUCOL, EVENTBADSUMCOL, JETBADET, JETBADETA, JETBADPHI, EGBADET, EGBADETA, EGBADPHI, TAUBADET, TAUBADETA, TAUBADPHI, BADSUM } |
Private Member Functions | |
bool | compareEGs (const edm::Handle< l1t::EGammaBxCollection > &col1, const edm::Handle< l1t::EGammaBxCollection > &col2) |
bool | compareJets (const edm::Handle< l1t::JetBxCollection > &col1, const edm::Handle< l1t::JetBxCollection > &col2) |
bool | compareSums (const edm::Handle< l1t::EtSumBxCollection > &col1, const edm::Handle< l1t::EtSumBxCollection > &col2) |
bool | compareTaus (const edm::Handle< l1t::TauBxCollection > &col1, const edm::Handle< l1t::TauBxCollection > &col2) |
Class to perform event by event comparisons between CaloLayer2 ouputs and uGT inputs and produce summary of problems found
Module should be run as part of L1TStage2 online sequence and relies on collections of jets, e/g, tau and sum objects as they come out of CaloLayer2 and are unpacked by uGT. The purpose of the comparisions is to identify issues with the data transmission links or the unpacking process in the uGT FPGA firmare. The module is also used to compare the inputs of all uGT boards.
Summary differentiates between different types of errors and errors with different objects in attempt to identify issues with specific links. In the case of the sums, due to the large number of different types and their spread over many links, it was decided to not differentiate between the different types of objects and their properties for the current implementation.
Definition at line 34 of file L1TStage2uGTCaloLayer2Comp.h.
|
private |
Enumerator | |
---|---|
EVENTS1 | |
EVENTS2 | |
EVENTS3 | |
EVENTS4 | |
EVENTS5 | |
JETS1 | |
JETS2 | |
JETS3 | |
EGS1 | |
EGS2 | |
EGS3 | |
TAUS1 | |
TAUS2 | |
TAUS3 | |
SUMS |
Definition at line 207 of file L1TStage2uGTCaloLayer2Comp.h.
|
private |
Enumerator | |
---|---|
EVENTBAD | |
EVENTBADJETCOL | |
EVENTBADEGCOL | |
EVENTBADTAUCOL | |
EVENTBADSUMCOL | |
JETBADET | |
JETBADETA | |
JETBADPHI | |
EGBADET | |
EGBADETA | |
EGBADPHI | |
TAUBADET | |
TAUBADETA | |
TAUBADPHI | |
BADSUM |
Definition at line 189 of file L1TStage2uGTCaloLayer2Comp.h.
L1TStage2uGTCaloLayer2Comp::L1TStage2uGTCaloLayer2Comp | ( | const edm::ParameterSet & | ps | ) |
Class constructor
Receives the set of parameters, specified by the python configuration file used to initialise the module as a part of a sequence. The contents of the set is used to configure the internal state of the objects of this class. Values from the parameter set are extracted and used to initialise bxcollections for jet, e/g, tau and sum objects reconstructed and unpacked by CaloLayer2 and uGT firmwares. These collections are the basis of the comparisons performed by this module.
edm::ParamterSet | & ps A pointer to the parameter set used |
Definition at line 3 of file L1TStage2uGTCaloLayer2Comp.cc.
|
overrideprotected |
Main method where the analysis code resides, executed once for each run
The main body of the module code is contained in this method. The different object collections are extracted from the run and are passed to the respective comparison methods for processing of each object type.
edm::Event | const & Reference to event object |
edm::EventSetup | const & Reference to event configuration object |
Definition at line 70 of file L1TStage2uGTCaloLayer2Comp.cc.
References compareEGs(), compareJets(), compareSums(), compareTaus(), comparisonDenum, comparisonNum, EGammaCollection1, EGammaCollection2, EtSumCollection1, EtSumCollection2, EVENTBAD, EVENTS1, EVENTS2, EVENTS3, EVENTS4, EVENTS5, MonitorElement::Fill(), edm::Event::getByToken(), JetCollection1, JetCollection2, TauCollection1, and TauCollection2.
|
overrideprotected |
Method to declare or "book" all histograms that will be part of module
Histograms that are to be visualised as part of the DQM module should be registered with the IBooker object any additional configuration such as title or axis labels and ranges. A good rule of thumb for the amount of configuration is that it should be possible to understnand the contents of the histogram using the configuration received from this method since the plots generated by this module would later be stored into ROOT files for transfer to the DQM system and it should be possible to extract useful information without the need for specific render plugins.
DQMStore::IBooker& | ibooker Object that handles the creation of plots |
edm::Run | const & Reference to run object |
edm::EventSetup | const & Reference to event configuration object |
Definition at line 18 of file L1TStage2uGTCaloLayer2Comp.cc.
References BADSUM, DQMStore::IBooker::book1D(), collection1Title, collection2Title, comparisonDenum, comparisonNum, EGBADET, EGBADETA, EGBADPHI, EGS1, EGS2, EGS3, EVENTBAD, EVENTBADEGCOL, EVENTBADJETCOL, EVENTBADSUMCOL, EVENTBADTAUCOL, EVENTS1, EVENTS2, EVENTS3, EVENTS4, EVENTS5, MonitorElement::getTH1F(), JETBADET, JETBADETA, JETBADPHI, JETS1, JETS2, JETS3, monitorDir, MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), SUMS, TAUBADET, TAUBADETA, TAUBADPHI, TAUS1, TAUS2, and TAUS3.
|
private |
Encapsulates the code required for performing a comparison of the e/gs contained in a given event.
Method is called once per each event with the e/g collections associated with the event being extracted for all bx. The implementation checks if the size of collections is the same and when so, compares the e/gs in the same positions within the calol2/ugt collections. The number and type of discrepancies are accumulated in different bins of a summary histogram.
edm::Handle<l1t::EGammaBXCollection>& | col1 Reference to e/gamma collection 1 |
edm::Handle<l1t::EGammaBXCollection>& | col2 Reference to e/gamma collection 2 |
Definition at line 190 of file L1TStage2uGTCaloLayer2Comp.cc.
References BXVector< T >::begin(), comparisonDenum, comparisonNum, EGBADET, EGBADETA, EGBADPHI, EGS1, EGS2, EGS3, BXVector< T >::end(), EVENTBADEGCOL, MonitorElement::Fill(), and BXVector< T >::size().
Referenced by analyze().
|
private |
Encapsulates the code required for performing a comparison of the jets contained in a given event.
Method is called once per each event with the jet collections associated with the event being extracted for all bx. The implementation checks if the size of collections is the same and when so, compares the jets in the same positions within the calol2/ugt collections. The number and type of discrepancies are accumulated in different bins of a summary histogram.
edm::Handle<l1t::JetBXCollection>& | col1 Reference to jet collection 1 |
edm::Handle<l1t::JetBXCollection>& | col2 Reference to jet collection 2 |
Definition at line 124 of file L1TStage2uGTCaloLayer2Comp.cc.
References BXVector< T >::begin(), comparisonDenum, comparisonNum, BXVector< T >::end(), EVENTBADJETCOL, MonitorElement::Fill(), JETBADET, JETBADETA, JETBADPHI, JETS1, JETS2, JETS3, and BXVector< T >::size().
Referenced by analyze().
|
private |
Encapsulates the code required for performing a comparison of the taus contained in a given event.
Method is called once per each event with the sum collections associated with the event being extracted for all bx. The implementation loops over the collection and depending of the their type sums are compared separately but all sum errors are accumulated together.
edm::Handle<l1t::TauBXCollection>& | col1 Reference to sum collection 1 |
edm::Handle<l1t::TauBXCollection>& | col2 Reference to sum collection 2 |
Definition at line 319 of file L1TStage2uGTCaloLayer2Comp.cc.
References BADSUM, BXVector< T >::begin(), comparisonDenum, comparisonNum, BXVector< T >::end(), EVENTBADSUMCOL, MonitorElement::Fill(), L1Analysis::kMinBiasHFM0, L1Analysis::kMinBiasHFM1, L1Analysis::kMinBiasHFP0, L1Analysis::kMinBiasHFP1, L1Analysis::kMissingEt, L1Analysis::kMissingEtHF, L1Analysis::kMissingHt, L1Analysis::kMissingHtHF, L1Analysis::kTotalEt, L1Analysis::kTotalEtEm, L1Analysis::kTotalHt, L1Analysis::kTowerCount, BXVector< T >::size(), and SUMS.
Referenced by analyze().
|
private |
Encapsulates the code required for performing a comparison of the taus contained in a given event.
Method is called once per each event with the e/g collections associated with the event being extracted for all bx. The implementation checks if the size of collections is the same and when so, compares the taus in the same positions within the calol2/ugt collections. The number and type
edm::Handle<l1t::TauBXCollection>& | col1 Reference to tau collection 1 |
edm::Handle<l1t::TauBXCollection>& | col2 Reference to tau collection 2 |
Definition at line 255 of file L1TStage2uGTCaloLayer2Comp.cc.
References BXVector< T >::begin(), comparisonDenum, comparisonNum, BXVector< T >::end(), EVENTBADTAUCOL, MonitorElement::Fill(), BXVector< T >::size(), TAUBADET, TAUBADETA, TAUBADPHI, TAUS1, TAUS2, and TAUS3.
Referenced by analyze().
|
private |
Definition at line 176 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by bookHistograms().
|
private |
Definition at line 177 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by bookHistograms().
|
private |
Definition at line 227 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze(), bookHistograms(), compareEGs(), compareJets(), compareSums(), and compareTaus().
|
private |
Definition at line 226 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze(), bookHistograms(), compareEGs(), compareJets(), compareSums(), and compareTaus().
|
private |
Definition at line 182 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 183 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 186 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 187 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 180 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 181 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 173 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by bookHistograms().
|
private |
Definition at line 184 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 185 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by analyze().
|
private |
Definition at line 228 of file L1TStage2uGTCaloLayer2Comp.h.
Referenced by python.diff_provenance.difference::list_diff(), python.diffProv.difference::list_diff(), python.diff_provenance.difference::module_diff(), python.diffProv.difference::module_diff(), python.diff_provenance.difference::onefilemodules(), python.diffProv.difference::onefilemodules(), core.TriggerMatchAnalyzer.TriggerMatchAnalyzer::process(), core.SkimAnalyzerCount.SkimAnalyzerCount::process(), objects.VertexAnalyzer.VertexAnalyzer::process(), and confdbOfflineConverter.OfflineConverter::query().