CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
PFHcalGPUComparisonTask Class Reference
Inheritance diagram for PFHcalGPUComparisonTask:
hcaldqm::DQTask DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > > hcaldqm::DQModule edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
std::shared_ptr< hcaldqm::CacheglobalBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) const override
 
void globalEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 PFHcalGPUComparisonTask (edm::ParameterSet const &)
 
 ~PFHcalGPUComparisonTask () override=default
 
- Public Member Functions inherited from hcaldqm::DQTask
void analyze (edm::Event const &, edm::EventSetup const &) override
 
void dqmBeginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQTask (edm::ParameterSet const &)
 
std::shared_ptr< hcaldqm::CacheglobalBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) const override
 
void globalEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
 ~DQTask () override
 
- Public Member Functions inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > >
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 
- Public Member Functions inherited from hcaldqm::DQModule
 DQModule (edm::ParameterSet const &)
 
virtual ~DQModule () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from hcaldqm::DQTask
static void fillPSetDescription (edm::ParameterSetDescription &des)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from hcaldqm::DQModule
static void fillPSetDescription (edm::ParameterSetDescription &desc)
 

Private Member Functions

void _process (edm::Event const &, edm::EventSetup const &) override
 
void _resetMonitors (hcaldqm::UpdateFreq) override
 

Private Attributes

std::string pfCaloGPUCompDir_
 
MonitorElementpfCluster_Depth_HostvsDevice_
 
MonitorElementpfCluster_DuplicateMatches_HostvsDevice_
 
MonitorElementpfCluster_Energy_HostvsDevice_
 
MonitorElementpfCluster_Eta_HostvsDevice_
 
MonitorElementpfCluster_Layer_HostvsDevice_
 
MonitorElementpfCluster_Multiplicity_HostvsDevice_
 
MonitorElementpfCluster_Phi_HostvsDevice_
 
MonitorElementpfCluster_RecHitMultiplicity_HostvsDevice_
 
edm::EDGetTokenT< reco::PFClusterCollectionpfClusterTok_ref_
 
edm::EDGetTokenT< reco::PFClusterCollectionpfClusterTok_target_
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > >
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from hcaldqm::DQTask
virtual int _getCalibType (edm::Event const &)
 
virtual bool _isApplicable (edm::Event const &)
 
- Protected Member Functions inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > >
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 
- Protected Attributes inherited from hcaldqm::DQTask
ContainerI _cEvsPerLS
 
ContainerI _cEvsTotal
 
ContainerS _cProcessingTypeName
 
ContainerS _cRunKeyName
 
ContainerI _cRunKeyVal
 
edm::ESHandle< HcalDbService_dbService
 
HcalElectronicsMap const * _emap = nullptr
 
int _procLSs
 
edm::InputTag _tagRaw
 
edm::EDGetTokenT< FEDRawDataCollection_tokRaw
 
std::vector< uint32_t > _vcdaqEids
 
ContainerXXX< uint32_t > _xQuality
 
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcdhcalChannelQualityToken_
 
edm::ESGetToken< HcalDbService, HcalDbRecordhcalDbServiceToken_
 
edm::ESGetToken< RunInfo, RunInfoRcdrunInfoToken_
 
- Protected Attributes inherited from DQMOneEDAnalyzer< edm::LuminosityBlockCache< hcaldqm::Cache > >
edm::EDPutTokenT< DQMTokenrunToken_
 
- Protected Attributes inherited from hcaldqm::DQModule
int _currentLS
 
int _debug
 
int _evsPerLS
 
int _evsTotal
 
Logger _logger
 
int _maxLS
 
ModuleType _mtype
 
std::string _name
 
ProcessingType _ptype
 
std::string _runkeyName
 
int _runkeyVal
 
std::string _subsystem
 

Detailed Description

Definition at line 56 of file PFHcalGPUComparisonTask.cc.

Constructor & Destructor Documentation

◆ PFHcalGPUComparisonTask()

PFHcalGPUComparisonTask::PFHcalGPUComparisonTask ( edm::ParameterSet const &  conf)

Definition at line 86 of file PFHcalGPUComparisonTask.cc.

References edm::ParameterSet::getUntrackedParameter().

87  : DQTask(conf),
89  consumes<reco::PFClusterCollection>(conf.getUntrackedParameter<edm::InputTag>("pfClusterToken_ref"))},
91  consumes<reco::PFClusterCollection>(conf.getUntrackedParameter<edm::InputTag>("pfClusterToken_target"))},
92  pfCaloGPUCompDir_{conf.getUntrackedParameter<std::string>("name")} {}
DQTask(edm::ParameterSet const &)
Definition: DQTask.cc:8
edm::EDGetTokenT< reco::PFClusterCollection > pfClusterTok_ref_
edm::EDGetTokenT< reco::PFClusterCollection > pfClusterTok_target_

◆ ~PFHcalGPUComparisonTask()

PFHcalGPUComparisonTask::~PFHcalGPUComparisonTask ( )
overridedefault

Member Function Documentation

◆ _process()

void PFHcalGPUComparisonTask::_process ( edm::Event const &  event,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements hcaldqm::DQTask.

Definition at line 136 of file PFHcalGPUComparisonTask.cc.

References hcaldqm::DQModule::_currentLS, dqm::impl::MonitorElement::Fill(), nano_mu_digi_cff::float, dqm::impl::MonitorElement::getTH2F(), mps_fire::i, dqmiolumiharvest::j, LOGVERB, muonTagProbeFilters_cff::matched, pfCluster_Depth_HostvsDevice_, pfCluster_DuplicateMatches_HostvsDevice_, pfCluster_Energy_HostvsDevice_, pfCluster_Eta_HostvsDevice_, pfCluster_Layer_HostvsDevice_, pfCluster_Multiplicity_HostvsDevice_, pfCluster_Phi_HostvsDevice_, pfCluster_RecHitMultiplicity_HostvsDevice_, pfClusterTok_ref_, and pfClusterTok_target_.

136  {
138  event.getByToken(pfClusterTok_ref_, pfClusters_ref);
139 
140  edm::Handle<reco::PFClusterCollection> pfClusters_target;
141  event.getByToken(pfClusterTok_target_, pfClusters_target);
142 
143  auto lumiCache = luminosityBlockCache(event.getLuminosityBlock().index());
144  _currentLS = lumiCache->currentLS;
145  // Compare per-event PF cluster multiplicity
146 
147  if (pfClusters_ref->size() != pfClusters_target->size())
148  LOGVERB("PFCaloGPUComparisonTask") << " PFCluster multiplicity " << pfClusters_ref->size() << " "
149  << pfClusters_target->size();
150  pfCluster_Multiplicity_HostvsDevice_->Fill((float)pfClusters_ref->size(), (float)pfClusters_target->size());
151 
152  //
153  // Find matching PF cluster pairs
154  std::vector<int> matched_idx;
155  matched_idx.reserve(pfClusters_ref->size());
156  for (unsigned i = 0; i < pfClusters_ref->size(); ++i) {
157  bool matched = false;
158  for (unsigned j = 0; j < pfClusters_target->size(); ++j) {
159  if (pfClusters_ref->at(i).seed() == pfClusters_target->at(j).seed()) {
160  if (!matched) {
161  matched = true;
162  matched_idx.push_back((int)j);
163  } else {
164  edm::LogWarning("PFCaloGPUComparisonTask") << "Found duplicate match";
166  }
167  }
168  }
169  if (!matched)
170  matched_idx.push_back(-1); // if you don't find a match, put a dummy number
171  }
172 
173  //
174  // Plot matching PF cluster variables
175  for (unsigned i = 0; i < pfClusters_ref->size(); ++i) {
176  if (matched_idx[i] >= 0) {
177  unsigned int j = matched_idx[i];
178  int ref_energy_bin =
179  pfCluster_Energy_HostvsDevice_->getTH2F()->GetXaxis()->FindBin(pfClusters_ref->at(i).energy());
180  int target_energy_bin =
181  pfCluster_Energy_HostvsDevice_->getTH2F()->GetXaxis()->FindBin(pfClusters_target->at(j).energy());
182  if (ref_energy_bin != target_energy_bin)
183  edm::LogPrint("PFCaloGPUComparisonTask")
184  << "Off-diagonal energy bin entries: " << pfClusters_ref->at(i).energy() << " "
185  << pfClusters_ref->at(i).eta() << " " << pfClusters_ref->at(i).phi() << " "
186  << pfClusters_target->at(j).energy() << " " << pfClusters_target->at(j).eta() << " "
187  << pfClusters_target->at(j).phi() << std::endl;
188  pfCluster_Energy_HostvsDevice_->Fill(pfClusters_ref->at(i).energy(), pfClusters_target->at(j).energy());
189  pfCluster_Layer_HostvsDevice_->Fill(pfClusters_ref->at(i).layer(), pfClusters_target->at(j).layer());
190  pfCluster_Eta_HostvsDevice_->Fill(pfClusters_ref->at(i).eta(), pfClusters_target->at(j).eta());
191  pfCluster_Phi_HostvsDevice_->Fill(pfClusters_ref->at(i).phi(), pfClusters_target->at(j).phi());
192  pfCluster_Depth_HostvsDevice_->Fill(pfClusters_ref->at(i).depth(), pfClusters_target->at(j).depth());
193  pfCluster_RecHitMultiplicity_HostvsDevice_->Fill((float)pfClusters_ref->at(i).recHitFractions().size(),
194  (float)pfClusters_target->at(j).recHitFractions().size());
195  }
196  }
197 }
MonitorElement * pfCluster_Multiplicity_HostvsDevice_
#define LOGVERB(x)
edm::EDGetTokenT< reco::PFClusterCollection > pfClusterTok_ref_
MonitorElement * pfCluster_Layer_HostvsDevice_
MonitorElement * pfCluster_RecHitMultiplicity_HostvsDevice_
MonitorElement * pfCluster_Phi_HostvsDevice_
void Fill(long long x)
Log< level::Warning, true > LogPrint
edm::EDGetTokenT< reco::PFClusterCollection > pfClusterTok_target_
MonitorElement * pfCluster_Depth_HostvsDevice_
MonitorElement * pfCluster_Energy_HostvsDevice_
MonitorElement * pfCluster_Eta_HostvsDevice_
MonitorElement * pfCluster_DuplicateMatches_HostvsDevice_
Log< level::Warning, false > LogWarning
Definition: event.py:1

◆ _resetMonitors()

void PFHcalGPUComparisonTask::_resetMonitors ( hcaldqm::UpdateFreq  uf)
overrideprivatevirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 134 of file PFHcalGPUComparisonTask.cc.

134 { DQTask::_resetMonitors(uf); }

◆ bookHistograms()

void PFHcalGPUComparisonTask::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  r,
edm::EventSetup const &  es 
)
overridevirtual

Reimplemented from hcaldqm::DQTask.

Definition at line 94 of file PFHcalGPUComparisonTask.cc.

References hcaldqm::DQModule::_subsystem, dqm::implementation::IBooker::book1I(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::book2I(), bookHistograms(), f, timingPdfMaker::histo, M_PI, pfCaloGPUCompDir_, pfCluster_Depth_HostvsDevice_, pfCluster_DuplicateMatches_HostvsDevice_, pfCluster_Energy_HostvsDevice_, pfCluster_Eta_HostvsDevice_, pfCluster_Layer_HostvsDevice_, pfCluster_Multiplicity_HostvsDevice_, pfCluster_Phi_HostvsDevice_, pfCluster_RecHitMultiplicity_HostvsDevice_, alignCSCRings::r, and dqm::implementation::NavigatorBase::setCurrentFolder().

94  {
95  _subsystem = "ParticleFlow";
96  ibooker.setCurrentFolder("ParticleFlow/" + pfCaloGPUCompDir_);
97  DQTask::bookHistograms(ibooker, r, es);
98  // Book monitoring elements
99  const char* histo;
100 
101  histo = "pfCluster_Multiplicity_HostvsDevice";
102  const char* histoAxis = "pfCluster_Multiplicity_HostvsDevice;Multiplicity Device;Multiplicity Device";
103  pfCluster_Multiplicity_HostvsDevice_ = ibooker.book2I(histo, histoAxis, 1000, 0, 1000, 1000, 0, 1000);
104 
105  histo = "pfCluster_Energy_HostvsDevice";
106  histoAxis = "pfCluster_Energy_HostvsDevice;Energy Host [GeV];Energy Device [GeV]";
107  pfCluster_Energy_HostvsDevice_ = ibooker.book2D(histo, histoAxis, 500, 0, 500, 500, 0, 500);
108 
109  histo = "pfCluster_RecHitMultiplicity_HostvsDevice";
110  histoAxis = "pfCluster_RecHitMultiplicity_HostvsDevice;RecHit Multiplicity Host;RecHit Multiplicity Device";
111  pfCluster_RecHitMultiplicity_HostvsDevice_ = ibooker.book2I(histo, histoAxis, 100, 0, 100, 100, 0, 100);
112 
113  histo = "pfCluster_Layer_HostvsDevice";
114  histoAxis = "pfCluster_Layer_HostvsDevice;Cluster Layer Host;Cluster Layer Device";
115  pfCluster_Layer_HostvsDevice_ = ibooker.book2I(histo, histoAxis, 4, 0, 3, 4, 0, 3);
116 
117  histo = "pfCluster_Depth_HostvsDevice";
118  histoAxis = "pfCluster_Depth_HostvsDevice;Cluster Depth Host;Cluster Depth Device";
119  pfCluster_Depth_HostvsDevice_ = ibooker.book2I(histo, histoAxis, 8, 0, 7, 8, 0, 7);
120 
121  histo = "pfCluster_Eta_HostvsDevice";
122  histoAxis = "pfCluster_Eta_HostvsDevice;Cluster #eta Host;Cluster #eta Device";
123  pfCluster_Eta_HostvsDevice_ = ibooker.book2D(histo, histoAxis, 100, -5.f, 5.f, 100, -5.f, 5.f);
124 
125  histo = "pfCluster_Phi_HostvsDevice";
126  histoAxis = "pfCluster_Phi_HostvsDevice;Cluster #phi Host;Cluster #phi Device";
127  pfCluster_Phi_HostvsDevice_ = ibooker.book2D(histo, histoAxis, 100, -M_PI, M_PI, 100, -M_PI, M_PI);
128 
129  histo = "pfCluster_DuplicateMatches_HostvsDevice";
130  histoAxis = "pfCluster_Duplicates_HostvsDevice;Cluster Duplicates Host;Cluster Duplicates Device";
131  pfCluster_DuplicateMatches_HostvsDevice_ = ibooker.book1I(histo, histoAxis, 100, 0., 1000);
132 }
MonitorElement * book1I(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:186
MonitorElement * pfCluster_Multiplicity_HostvsDevice_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * pfCluster_Layer_HostvsDevice_
MonitorElement * pfCluster_RecHitMultiplicity_HostvsDevice_
MonitorElement * pfCluster_Phi_HostvsDevice_
example_stream void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
double f[11][100]
#define M_PI
MonitorElement * pfCluster_Depth_HostvsDevice_
MonitorElement * pfCluster_Energy_HostvsDevice_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
MonitorElement * pfCluster_Eta_HostvsDevice_
std::string _subsystem
Definition: DQModule.h:49
MonitorElement * pfCluster_DuplicateMatches_HostvsDevice_
MonitorElement * book2I(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:305

◆ fillDescriptions()

void PFHcalGPUComparisonTask::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 215 of file PFHcalGPUComparisonTask.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

215  {
217  desc.addUntracked<std::string>("name", "pfCaloGPUCompDir");
218  desc.addUntracked<edm::InputTag>("pfClusterToken_ref", edm::InputTag("hltParticleFlowClusterHCALSerialSync"));
219  desc.addUntracked<edm::InputTag>("pfClusterToken_target", edm::InputTag("hltParticleFlowClusterHCAL"));
220  descriptions.addWithDefaultLabel(desc);
221 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ globalBeginLuminosityBlock()

std::shared_ptr< hcaldqm::Cache > PFHcalGPUComparisonTask::globalBeginLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
) const
override

Definition at line 199 of file PFHcalGPUComparisonTask.cc.

200  {
201  return DQTask::globalBeginLuminosityBlock(lb, es);
202 }

◆ globalEndLuminosityBlock()

void PFHcalGPUComparisonTask::globalEndLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &  es 
)
override

Definition at line 204 of file PFHcalGPUComparisonTask.cc.

References hcaldqm::DQModule::_currentLS, hcaldqm::DQModule::_ptype, hcaldqm::fOnline, and edm::LuminosityBlock::index().

204  {
205  if (_ptype != fOnline)
206  return;
207 
208  auto lumiCache = luminosityBlockCache(lb.index());
209  _currentLS = lumiCache->currentLS;
210 
211  // in the end always do the DQTask::endLumi
212  DQTask::globalEndLuminosityBlock(lb, es);
213 }
ProcessingType _ptype
Definition: DQModule.h:44

Member Data Documentation

◆ pfCaloGPUCompDir_

std::string PFHcalGPUComparisonTask::pfCaloGPUCompDir_
private

Definition at line 83 of file PFHcalGPUComparisonTask.cc.

Referenced by bookHistograms().

◆ pfCluster_Depth_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_Depth_HostvsDevice_
private

Definition at line 78 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfCluster_DuplicateMatches_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_DuplicateMatches_HostvsDevice_
private

Definition at line 81 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfCluster_Energy_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_Energy_HostvsDevice_
private

Definition at line 75 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfCluster_Eta_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_Eta_HostvsDevice_
private

Definition at line 79 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfCluster_Layer_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_Layer_HostvsDevice_
private

Definition at line 77 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfCluster_Multiplicity_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_Multiplicity_HostvsDevice_
private

Definition at line 74 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfCluster_Phi_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_Phi_HostvsDevice_
private

Definition at line 80 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfCluster_RecHitMultiplicity_HostvsDevice_

MonitorElement* PFHcalGPUComparisonTask::pfCluster_RecHitMultiplicity_HostvsDevice_
private

Definition at line 76 of file PFHcalGPUComparisonTask.cc.

Referenced by _process(), and bookHistograms().

◆ pfClusterTok_ref_

edm::EDGetTokenT<reco::PFClusterCollection> PFHcalGPUComparisonTask::pfClusterTok_ref_
private

Definition at line 71 of file PFHcalGPUComparisonTask.cc.

Referenced by _process().

◆ pfClusterTok_target_

edm::EDGetTokenT<reco::PFClusterCollection> PFHcalGPUComparisonTask::pfClusterTok_target_
private

Definition at line 72 of file PFHcalGPUComparisonTask.cc.

Referenced by _process().