CMS 3D CMS Logo

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

#include <MEtoEDMConverter.h>

Inheritance diagram for MEtoEDMConverter:
edm::one::EDProducer< edm::RunCache< meedm::Void >, edm::LuminosityBlockCache< meedm::Void >, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 
using TagList = std::vector< uint32_t >
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
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
 

Public Member Functions

void beginJob () override
 
void endJob () override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &, const edm::EventSetup &) override
 
void endRunProduce (edm::Run &, const edm::EventSetup &) override
 
std::shared_ptr< meedm::VoidglobalBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) const override
 
std::shared_ptr< meedm::VoidglobalBeginRun (edm::Run const &, const edm::EventSetup &) const override
 
void globalEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void globalEndRun (edm::Run const &, const edm::EventSetup &) override
 
 MEtoEDMConverter (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
template<class T >
void putData (DQMStore::IGetter &g, T &iPutTo, bool iLumiOnly, uint32_t run, uint32_t lumi)
 
 ~MEtoEDMConverter () override
 
- Public Member Functions inherited from edm::one::EDProducer< edm::RunCache< meedm::Void >, edm::LuminosityBlockCache< meedm::Void >, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::SharedResources >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () 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
 
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)
 
 ~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
 
ESProxyIndex const * esGetTokenIndices (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::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
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

bool enableMultiThread_
 
std::string fName
 
int frequency
 
std::map< int, int > iCount
 
std::string path
 
int verbosity
 

Additional Inherited Members

- 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::ProducerBase
ProducesCollector producesCollector ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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

Class to take dqm monitor elements and convert into a ROOT dataformat stored in Run tree of edm file

Author
M. Strang SUNY-Buffalo

Definition at line 59 of file MEtoEDMConverter.h.

Member Typedef Documentation

Definition at line 65 of file MEtoEDMConverter.h.

Definition at line 66 of file MEtoEDMConverter.h.

using MEtoEDMConverter::TagList = std::vector<uint32_t>

Definition at line 84 of file MEtoEDMConverter.h.

Constructor & Destructor Documentation

MEtoEDMConverter::MEtoEDMConverter ( const edm::ParameterSet iPSet)
explicit

Definition at line 20 of file MEtoEDMConverter.cc.

References enableMultiThread_, edm::EndLuminosityBlock, edm::EndRun, fName, frequency, edm::ParameterSet::getUntrackedParameter(), path, AlCaHLTBitMon_QueryRunRegistry::string, verbosity, and ~MEtoEDMConverter().

20  : fName(""), verbosity(0), frequency(0) {
21  std::string MsgLoggerCat = "MEtoEDMConverter_MEtoEDMConverter";
22 
23  // get information from parameter set
24  fName = iPSet.getUntrackedParameter<std::string>("Name", "MEtoEDMConverter");
25  verbosity = iPSet.getUntrackedParameter<int>("Verbosity", 0);
26  frequency = iPSet.getUntrackedParameter<int>("Frequency", 50);
27  path = iPSet.getUntrackedParameter<std::string>("MEPathToSave");
28  enableMultiThread_ = false;
29  // use value of first digit to determine default output level (inclusive)
30  // 0 is none, 1 is basic, 2 is fill output, 3 is gather output
31  verbosity %= 10;
32 
33  // print out Parameter Set information being used
34  if (verbosity >= 0) {
35  edm::LogInfo(MsgLoggerCat) << "\n===============================\n"
36  << "Initialized as EDProducer with parameter values:\n"
37  << " Name = " << fName << "\n"
38  << " Verbosity = " << verbosity << "\n"
39  << " Frequency = " << frequency << "\n"
40  << " Path = " << path << "\n"
41  << "===============================\n";
42  }
43 
44  std::string sName;
45 
46  // create persistent objects
47 
48  sName = fName + "Run";
49  produces<MEtoEDM<TH1F>, edm::Transition::EndRun>(sName);
50  produces<MEtoEDM<TH1S>, edm::Transition::EndRun>(sName);
51  produces<MEtoEDM<TH1D>, edm::Transition::EndRun>(sName);
52  produces<MEtoEDM<TH2F>, edm::Transition::EndRun>(sName);
53  produces<MEtoEDM<TH2S>, edm::Transition::EndRun>(sName);
54  produces<MEtoEDM<TH2D>, edm::Transition::EndRun>(sName);
55  produces<MEtoEDM<TH3F>, edm::Transition::EndRun>(sName);
56  produces<MEtoEDM<TProfile>, edm::Transition::EndRun>(sName);
57  produces<MEtoEDM<TProfile2D>, edm::Transition::EndRun>(sName);
58  produces<MEtoEDM<double>, edm::Transition::EndRun>(sName);
59  produces<MEtoEDM<long long>, edm::Transition::EndRun>(sName);
60  produces<MEtoEDM<TString>, edm::Transition::EndRun>(sName);
61 
62  sName = fName + "Lumi";
63  produces<MEtoEDM<TH1F>, edm::Transition::EndLuminosityBlock>(sName);
64  produces<MEtoEDM<TH1S>, edm::Transition::EndLuminosityBlock>(sName);
65  produces<MEtoEDM<TH1D>, edm::Transition::EndLuminosityBlock>(sName);
66  produces<MEtoEDM<TH2F>, edm::Transition::EndLuminosityBlock>(sName);
67  produces<MEtoEDM<TH2S>, edm::Transition::EndLuminosityBlock>(sName);
68  produces<MEtoEDM<TH2D>, edm::Transition::EndLuminosityBlock>(sName);
69  produces<MEtoEDM<TH3F>, edm::Transition::EndLuminosityBlock>(sName);
70  produces<MEtoEDM<TProfile>, edm::Transition::EndLuminosityBlock>(sName);
71  produces<MEtoEDM<TProfile2D>, edm::Transition::EndLuminosityBlock>(sName);
72  produces<MEtoEDM<double>, edm::Transition::EndLuminosityBlock>(sName);
73  produces<MEtoEDM<long long>, edm::Transition::EndLuminosityBlock>(sName);
74  produces<MEtoEDM<TString>, edm::Transition::EndLuminosityBlock>(sName);
75 
76  consumesMany<DQMToken, edm::InLumi>();
77  consumesMany<DQMToken, edm::InRun>();
78  usesResource("DQMStore");
79 
80  static_assert(sizeof(int64_t) == sizeof(long long), "type int64_t is not the same length as long long");
81 }
T getUntrackedParameter(std::string const &, T const &) const
MEtoEDMConverter::~MEtoEDMConverter ( )
overridedefault

Referenced by MEtoEDMConverter().

Member Function Documentation

void MEtoEDMConverter::beginJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 85 of file MEtoEDMConverter.cc.

References enableMultiThread_, dqm::dqmstoreimpl::DQMStore::enableMultiThread_, and Utilities::operator.

85  {
86  // Determine if we are running multithreading asking to the DQMStore. Not to be moved in the ctor
88  enableMultiThread_ = dbe->enableMultiThread_;
89 }
dqm::legacy::DQMStore DQMStore
void MEtoEDMConverter::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDProducerBase.

Definition at line 91 of file MEtoEDMConverter.cc.

91 {}
void MEtoEDMConverter::endLuminosityBlockProduce ( edm::LuminosityBlock iLumi,
const edm::EventSetup iSetup 
)
override

Definition at line 110 of file MEtoEDMConverter.cc.

References b, g, edm::LuminosityBlockBase::id(), edm::LuminosityBlockID::luminosityBlock(), dqm::dqmstoreimpl::DQMStore::meBookerGetter(), Utilities::operator, putData(), and edm::LuminosityBlockBase::run().

110  {
112  store->meBookerGetter([&](DQMStore::IBooker& b, DQMStore::IGetter& g) {
113  putData(g, iLumi, true, iLumi.run(), iLumi.id().luminosityBlock());
114  });
115 }
LuminosityBlockID id() const
dqm::legacy::DQMStore DQMStore
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
RunNumber_t run() const
double b
Definition: hdecay.h:118
LuminosityBlockNumber_t luminosityBlock() const
void putData(DQMStore::IGetter &g, T &iPutTo, bool iLumiOnly, uint32_t run, uint32_t lumi)
void MEtoEDMConverter::endRunProduce ( edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Definition at line 100 of file MEtoEDMConverter.cc.

References b, g, dqm::dqmstoreimpl::DQMStore::meBookerGetter(), Utilities::operator, putData(), and edm::RunBase::run().

100  {
102  store->meBookerGetter([&](DQMStore::IBooker& b, DQMStore::IGetter& g) { putData(g, iRun, false, iRun.run(), 0); });
103 }
RunNumber_t run() const
Definition: RunBase.h:40
dqm::legacy::DQMStore DQMStore
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
double b
Definition: hdecay.h:118
void putData(DQMStore::IGetter &g, T &iPutTo, bool iLumiOnly, uint32_t run, uint32_t lumi)
std::shared_ptr< meedm::Void > MEtoEDMConverter::globalBeginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
) const
override

Definition at line 105 of file MEtoEDMConverter.cc.

106  {
107  return std::shared_ptr<meedm::Void>();
108 }
std::shared_ptr< meedm::Void > MEtoEDMConverter::globalBeginRun ( edm::Run const &  iRun,
const edm::EventSetup iSetup 
) const
override

Definition at line 93 of file MEtoEDMConverter.cc.

94  {
95  return std::shared_ptr<meedm::Void>();
96 }
void MEtoEDMConverter::globalEndLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineoverride

Definition at line 77 of file MEtoEDMConverter.h.

References g, and writedatasetfile::run.

77 {};
void MEtoEDMConverter::globalEndRun ( edm::Run const &  iRun,
const edm::EventSetup iSetup 
)
override

Definition at line 98 of file MEtoEDMConverter.cc.

98 {}
void MEtoEDMConverter::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override
template<class T >
void MEtoEDMConverter::putData ( DQMStore::IGetter g,
T iPutTo,
bool  iLumiOnly,
uint32_t  run,
uint32_t  lumi 
)

Definition at line 118 of file MEtoEDMConverter.cc.

References enableMultiThread_, fName, dqm::dqmstoreimpl::DQMStore::IGetter::getAllContents(), dqm::impl::MonitorElement::getFloatValue(), dqm::impl::MonitorElement::getFullname(), dqm::impl::MonitorElement::getIntValue(), dqm::impl::MonitorElement::getLumiFlag(), dqm::impl::MonitorElement::getStringValue(), dqm::legacy::MonitorElement::getTH1D(), dqm::legacy::MonitorElement::getTH1F(), dqm::legacy::MonitorElement::getTH1S(), dqm::legacy::MonitorElement::getTH2D(), dqm::legacy::MonitorElement::getTH2F(), dqm::legacy::MonitorElement::getTH2S(), dqm::legacy::MonitorElement::getTH3F(), dqm::legacy::MonitorElement::getTProfile(), dqm::legacy::MonitorElement::getTProfile2D(), MonitorElementData::INT, mps_monitormerge::items, dqm::impl::MonitorElement::kind(), hlt_dqm_clientPB-live_cfg::me, eostools::move(), path, MonitorElementData::REAL, MonitorElementData::STRING, AlCaHLTBitMon_QueryRunRegistry::string, MonitorElementData::TH1D, MonitorElementData::TH1F, MonitorElementData::TH1S, MonitorElementData::TH2D, MonitorElementData::TH2F, MonitorElementData::TH2S, MonitorElementData::TH3F, MonitorElementData::TPROFILE, MonitorElementData::TPROFILE2D, and verbosity.

Referenced by endLuminosityBlockProduce(), and endRunProduce().

118  {
119  std::string MsgLoggerCat = "MEtoEDMConverter_putData";
120 
121  if (verbosity > 0)
122  edm::LogInfo(MsgLoggerCat) << "\nStoring MEtoEDM dataformat histograms.";
123 
124  // extract ME information into vectors
125  std::vector<MonitorElement*>::iterator mmi, mme;
126  std::vector<MonitorElement*> items(
127  iGetter.getAllContents(path, enableMultiThread_ ? run : 0, enableMultiThread_ ? lumi : 0));
128 
129  unsigned int n1F = 0;
130  unsigned int n1S = 0;
131  unsigned int n1D = 0;
132  unsigned int n2F = 0;
133  unsigned int n2S = 0;
134  unsigned int n2D = 0;
135  unsigned int n3F = 0;
136  unsigned int nProf = 0;
137  unsigned int nProf2 = 0;
138  unsigned int nDouble = 0;
139  unsigned int nInt64 = 0;
140  unsigned int nString = 0;
141 
142  for (mmi = items.begin(), mme = items.end(); mmi != mme; ++mmi) {
143  MonitorElement* me = *mmi;
144 
145  // store only flagged ME at endLumi transition, and Run-based
146  // histo at endRun transition
147  if (iLumiOnly && !me->getLumiFlag())
148  continue;
149  if (!iLumiOnly && me->getLumiFlag())
150  continue;
151 
152  switch (me->kind()) {
154  ++nInt64;
155  break;
156 
158  ++nDouble;
159  break;
160 
162  ++nString;
163  break;
164 
166  ++n1F;
167  break;
168 
170  ++n1S;
171  break;
172 
174  ++n1D;
175  break;
176 
178  ++n2F;
179  break;
180 
182  ++n2S;
183  break;
184 
186  ++n2D;
187  break;
188 
190  ++n3F;
191  break;
192 
194  ++nProf;
195  break;
196 
198  ++nProf2;
199  break;
200 
201  default:
202  edm::LogError(MsgLoggerCat) << "ERROR: The DQM object '" << me->getFullname()
203  << "' is neither a ROOT object nor a recognised "
204  << "simple object.\n";
205  continue;
206  }
207  }
208 
209  std::unique_ptr<MEtoEDM<long long> > pOutInt(new MEtoEDM<long long>(nInt64));
210  std::unique_ptr<MEtoEDM<double> > pOutDouble(new MEtoEDM<double>(nDouble));
211  std::unique_ptr<MEtoEDM<TString> > pOutString(new MEtoEDM<TString>(nString));
212  std::unique_ptr<MEtoEDM<TH1F> > pOut1(new MEtoEDM<TH1F>(n1F));
213  std::unique_ptr<MEtoEDM<TH1S> > pOut1s(new MEtoEDM<TH1S>(n1S));
214  std::unique_ptr<MEtoEDM<TH1D> > pOut1d(new MEtoEDM<TH1D>(n1D));
215  std::unique_ptr<MEtoEDM<TH2F> > pOut2(new MEtoEDM<TH2F>(n2F));
216  std::unique_ptr<MEtoEDM<TH2S> > pOut2s(new MEtoEDM<TH2S>(n2S));
217  std::unique_ptr<MEtoEDM<TH2D> > pOut2d(new MEtoEDM<TH2D>(n2D));
218  std::unique_ptr<MEtoEDM<TH3F> > pOut3(new MEtoEDM<TH3F>(n3F));
219  std::unique_ptr<MEtoEDM<TProfile> > pOutProf(new MEtoEDM<TProfile>(nProf));
220  std::unique_ptr<MEtoEDM<TProfile2D> > pOutProf2(new MEtoEDM<TProfile2D>(nProf2));
221 
222  for (mmi = items.begin(), mme = items.end(); mmi != mme; ++mmi) {
223  MonitorElement* me = *mmi;
224 
225  // store only flagged ME at endLumi transition, and Run-based
226  // histo at endRun transition
227  if (iLumiOnly && !me->getLumiFlag())
228  continue;
229  if (!iLumiOnly && me->getLumiFlag())
230  continue;
231 
232  // get monitor elements
233  switch (me->kind()) {
235  pOutInt->putMEtoEdmObject(me->getFullname(), me->getIntValue());
236  break;
237 
239  pOutDouble->putMEtoEdmObject(me->getFullname(), me->getFloatValue());
240  break;
241 
243  pOutString->putMEtoEdmObject(me->getFullname(), me->getStringValue());
244  break;
245 
247  pOut1->putMEtoEdmObject(me->getFullname(), *me->getTH1F());
248  break;
249 
251  pOut1s->putMEtoEdmObject(me->getFullname(), *me->getTH1S());
252  break;
253 
255  pOut1d->putMEtoEdmObject(me->getFullname(), *me->getTH1D());
256  break;
257 
259  pOut2->putMEtoEdmObject(me->getFullname(), *me->getTH2F());
260  break;
261 
263  pOut2s->putMEtoEdmObject(me->getFullname(), *me->getTH2S());
264  break;
265 
267  pOut2d->putMEtoEdmObject(me->getFullname(), *me->getTH2D());
268  break;
269 
271  pOut3->putMEtoEdmObject(me->getFullname(), *me->getTH3F());
272  break;
273 
275  pOutProf->putMEtoEdmObject(me->getFullname(), *me->getTProfile());
276  break;
277 
279  pOutProf2->putMEtoEdmObject(me->getFullname(), *me->getTProfile2D());
280  break;
281 
282  default:
283  edm::LogError(MsgLoggerCat) << "ERROR: The DQM object '" << me->getFullname()
284  << "' is neither a ROOT object nor a recognised "
285  << "simple object.\n";
286  continue;
287  }
288 
289  } // end loop through monitor elements
290 
291  std::string sName;
292 
293  if (iLumiOnly) {
294  sName = fName + "Lumi";
295  } else {
296  sName = fName + "Run";
297  }
298 
299  // produce objects to put in events
300  iPutTo.put(std::move(pOutInt), sName);
301  iPutTo.put(std::move(pOutDouble), sName);
302  iPutTo.put(std::move(pOutString), sName);
303  iPutTo.put(std::move(pOut1), sName);
304  iPutTo.put(std::move(pOut1s), sName);
305  iPutTo.put(std::move(pOut1d), sName);
306  iPutTo.put(std::move(pOut2), sName);
307  iPutTo.put(std::move(pOut2s), sName);
308  iPutTo.put(std::move(pOut2d), sName);
309  iPutTo.put(std::move(pOut3), sName);
310  iPutTo.put(std::move(pOutProf), sName);
311  iPutTo.put(std::move(pOutProf2), sName);
312 }
virtual TH2D * getTH2D() const
virtual TH2F * getTH2F() const
virtual TH1F * getTH1F() const
virtual int64_t getIntValue() const
Kind kind() const
Get the type of the monitor element.
virtual TH1S * getTH1S() const
const std::string getFullname() const
get full name of ME including Pathname
virtual TProfile2D * getTProfile2D() const
virtual TH2S * getTH2S() const
virtual TProfile * getTProfile() const
virtual TH1D * getTH1D() const
bool getLumiFlag() const
true if ME is meant to be stored for each luminosity section
virtual double getFloatValue() const
virtual const std::string & getStringValue() const
virtual TH3F * getTH3F() const
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

bool MEtoEDMConverter::enableMultiThread_
private

Definition at line 90 of file MEtoEDMConverter.h.

Referenced by beginJob(), MEtoEDMConverter(), and putData().

std::string MEtoEDMConverter::fName
private

Definition at line 87 of file MEtoEDMConverter.h.

Referenced by MEtoEDMConverter(), and putData().

int MEtoEDMConverter::frequency
private

Definition at line 89 of file MEtoEDMConverter.h.

Referenced by MEtoEDMConverter().

std::map<int, int> MEtoEDMConverter::iCount
private

Definition at line 94 of file MEtoEDMConverter.h.

std::string MEtoEDMConverter::path
private
int MEtoEDMConverter::verbosity
private

Definition at line 88 of file MEtoEDMConverter.h.

Referenced by MEtoEDMConverter(), and putData().