CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
JetMETHLTOfflineClient Class Reference

#include <JetMETHLTOfflineClient.h>

Inheritance diagram for JetMETHLTOfflineClient:
DQMEDHarvester edm::one::EDProducer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources, edm::EndLuminosityBlockProducer > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 
 JetMETHLTOfflineClient (const edm::ParameterSet &)
 
 ~JetMETHLTOfflineClient () override
 
- Public Member Functions inherited from DQMEDHarvester
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override final
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &) override
 
 DQMEDHarvester (void)
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endJob () override final
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override final
 
virtual void endRun (edm::Run const &, edm::EventSetup const &) override
 
virtual void produce (edm::Event &, edm::EventSetup const &) override final
 
virtual ~DQMEDHarvester ()=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources, edm::EndLuminosityBlockProducer >
 EDProducer ()=default
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- 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 ()
 
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, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel)
 
virtual ~ProducerBase () noexcept(false)
 
- 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
 
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::vector< ModuleDescription const * > &modules, 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
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

edm::ParameterSet conf_
 
bool debug_
 
std::string dirName_
 
std::string hltTag_
 
std::string processname_
 
bool verbose_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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 ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
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)
 

Detailed Description

Definition at line 53 of file JetMETHLTOfflineClient.h.

Constructor & Destructor Documentation

JetMETHLTOfflineClient::JetMETHLTOfflineClient ( const edm::ParameterSet iConfig)
explicit

Definition at line 13 of file JetMETHLTOfflineClient.cc.

References gather_cfg::cout, debug_, dirName_, edm::ParameterSet::getParameter(), hltTag_, processname_, AlCaHLTBitMon_QueryRunRegistry::string, verbose_, and ~JetMETHLTOfflineClient().

13  :conf_(iConfig)
14 {
15  debug_ = false;
16  verbose_ = false;
17 
18  processname_ = iConfig.getParameter<std::string>("processname");
19 
20  hltTag_ = iConfig.getParameter<std::string>("hltTag");
21  if (debug_) std::cout << hltTag_ << std::endl;
22 
23  dirName_=iConfig.getParameter<std::string>("DQMDirName");
24 
25 }
T getParameter(std::string const &) const
JetMETHLTOfflineClient::~JetMETHLTOfflineClient ( )
overridedefault

Referenced by JetMETHLTOfflineClient().

Member Function Documentation

void JetMETHLTOfflineClient::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overridevirtual

Implements DQMEDHarvester.

Definition at line 29 of file JetMETHLTOfflineClient.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), gather_cfg::cout, debug_, dirName_, spr::find(), DQMStore::IGetter::getContents(), DQMStore::IGetter::getSubdirs(), MonitorElement::getTH1F(), gen::k, checklumidiff::l, LogDebug, dataset::name, DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and fftjetcommon_cfi::title.

30 {
31  ibooker.setCurrentFolder(dirName_);
32 
33  LogDebug("JetMETHLTOfflineClient") << "dqmEndJob" << std::endl;
34  if (debug_) std::cout << "dqmEndJob" << std::endl;
35 
36  std::vector<MonitorElement*> hltMEs;
37 
38  // Look at all folders, go to the subfolder which includes the string "Eff"
39  std::vector<std::string> fullPathHLTFolders = igetter.getSubdirs();
40  for(auto & fullPathHLTFolder : fullPathHLTFolders) {
41 
42  // Move on only if the folder name contains "Eff" Or "Trigger Summary"
43  if (debug_) std::cout << fullPathHLTFolder << std::endl;
44  if ((fullPathHLTFolder.find("Eff")!=std::string::npos)) {
45  ibooker.setCurrentFolder(fullPathHLTFolder);
46  }
47  else {
48  continue;
49  }
50 
51  // Look at all subfolders, go to the subfolder which includes the string "Eff"
52  std::vector<std::string> fullSubPathHLTFolders = igetter.getSubdirs();
53  for(auto & fullSubPathHLTFolder : fullSubPathHLTFolders) {
54 
55  if (debug_) std::cout << fullSubPathHLTFolder << std::endl;
56  ibooker.setCurrentFolder(fullSubPathHLTFolder);
57 
58  // Look at all MonitorElements in this folder
59  hltMEs = igetter.getContents(fullSubPathHLTFolder);
60  LogDebug("JetMETHLTOfflineClient")<< "Number of MEs for this HLT path = " << hltMEs.size() << std::endl;
61 
62  for(unsigned int k=0;k<hltMEs.size();k++) {
63  if (debug_) std::cout << hltMEs[k]->getName() << std::endl;
64 
65  //-----
66  if ((hltMEs[k]->getName().find("ME_Numerator")!=std::string::npos) && hltMEs[k]->getName().find("ME_Numerator")==0){
67 
68  std::string name = hltMEs[k]->getName();
69  name.erase(0,12); // Removed "ME_Numerator"
70  if (debug_) std::cout <<"==name=="<< name << std::endl;
71  // if( name.find("EtaPhi") !=std::string::npos ) continue; // do not consider EtaPhi 2D plots
72 
73  for(unsigned int l=0;l<hltMEs.size();l++) {
74  if (hltMEs[l]->getName() == "ME_Denominator"+name){
75  // found denominator too
76  if(name.find("EtaPhi") !=std::string::npos) {
77  TH2F* tNumerator = hltMEs[k]->getTH2F();
78  TH2F* tDenominator = hltMEs[l]->getTH2F();
79 
80  std::string title = "Eff_"+hltMEs[k]->getTitle();
81 
82  auto *teff = (TH2F*) tNumerator->Clone(title.c_str());
83  teff->Divide(tNumerator,tDenominator,1,1);
84  ibooker.book2D("ME_Eff_"+name,teff);
85  delete teff;
86  }
87  else{
88  TH1F* tNumerator = hltMEs[k]->getTH1F();
89  TH1F* tDenominator = hltMEs[l]->getTH1F();
90 
91  std::string title = "Eff_"+hltMEs[k]->getTitle();
92 
93  auto *teff = (TH1F*) tNumerator->Clone(title.c_str());
94  teff->Divide(tNumerator,tDenominator,1,1);
95  ibooker.book1D("ME_Eff_"+name,teff);
96  delete teff;
97  }
98  } // Denominator
99  } // Loop-l
100  } // Numerator
101 
102 
103  } // Loop-k
104  } // fullSubPath
105  } // fullPath
106 }
#define LogDebug(id)
std::vector< MonitorElement * > getContents(Args &&...args)
Definition: DQMStore.h:197
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
int k[5][pyjets_maxn]
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
TH1F * getTH1F(void) const
std::vector< std::string > getSubdirs(void)
Definition: DQMStore.cc:323

Member Data Documentation

edm::ParameterSet JetMETHLTOfflineClient::conf_
private

Definition at line 56 of file JetMETHLTOfflineClient.h.

bool JetMETHLTOfflineClient::debug_
private

Definition at line 58 of file JetMETHLTOfflineClient.h.

Referenced by dqmEndJob(), and JetMETHLTOfflineClient().

std::string JetMETHLTOfflineClient::dirName_
private

Definition at line 61 of file JetMETHLTOfflineClient.h.

Referenced by dqmEndJob(), and JetMETHLTOfflineClient().

std::string JetMETHLTOfflineClient::hltTag_
private

Definition at line 62 of file JetMETHLTOfflineClient.h.

Referenced by JetMETHLTOfflineClient().

std::string JetMETHLTOfflineClient::processname_
private

Definition at line 63 of file JetMETHLTOfflineClient.h.

Referenced by JetMETHLTOfflineClient().

bool JetMETHLTOfflineClient::verbose_
private

Definition at line 59 of file JetMETHLTOfflineClient.h.

Referenced by JetMETHLTOfflineClient().