CMS 3D CMS Logo

VariableHelper.h
Go to the documentation of this file.
1 #ifndef ConfigurableAnalysis_VariableHelper_H
2 #define ConfigurableAnalysis_VariableHelper_H
3 
10 
12 public:
15  for (iterator it = variables_.begin(); it != variables_.end(); ++it) {
16  delete it->second;
17  }
18  }
19  typedef std::map<std::string, const CachingVariable*>::const_iterator iterator;
20 
22 
23  iterator begin() { return variables_.begin(); }
24  iterator end() { return variables_.end(); }
25 
26  void setHolder(std::string hn);
27  void print() const;
29 
30 private:
31  std::map<std::string, const CachingVariable*> variables_;
32 };
33 
35 private:
37  std::map<std::string, VariableHelper*> multipleInstance_;
38 
41 
42 public:
45  //r.watchPreModule(this, &VariableHelperService::preModule );
46  r.watchPreModuleEvent(this, &VariableHelperService::preModule);
47  //r.watchPostProcessEvent(this, &VariableHelperService::postProcess );
48  r.watchPostEvent(this, &VariableHelperService::postProcess);
49  printValuesForEachEvent_ = iConfig.exists("printValuesForEachEventCategory");
51  printValuesForEachEventCategory_ = iConfig.getParameter<std::string>("printValuesForEachEventCategory");
52  }
54  for (std::map<std::string, VariableHelper*>::iterator it = multipleInstance_.begin(); it != multipleInstance_.end();
55  ++it) {
56  delete it->second;
57  }
58  }
59 
61  if (multipleInstance_.find(user) != multipleInstance_.end()) {
62  std::cerr << user << " VariableHelper user already defined." << std::endl;
63  throw;
64  } else
68 
71  }
72 
75  std::cerr << " none of VariableHelperUniqueInstance_ or SetVariableHelperUniqueInstance_ is valid." << std::endl;
76  throw;
77  } else
79  }
80 
82  const edm::ModuleDescription& desc = *mcc.moduleDescription();
83  //does a set with the module name, except that it does not throw on non-configured modules
84  std::map<std::string, VariableHelper*>::iterator f = multipleInstance_.find(desc.moduleLabel());
85  if (f != multipleInstance_.end()) {
87  return;
88  }
90  }
91 
92  void postProcess(edm::StreamContext const& sc) {
94  return;
95 
96  /*const edm::Event & event;
97  std::map<std::string, VariableHelper* >::iterator f= multipleInstance_.begin();
98  for (; f!=multipleInstance_.end();++f){
99  // std::cout<<" category is: "<<printValuesForEachEventCategory_+"|"+f->first<<std::endl;
100  // std::cout<<f->first<<"\n" <<f->second->printValues(event);
101 
102  edm::LogInfo(printValuesForEachEventCategory_+"|"+f->first)<<f->first<<"\n"
103  <<f->second->printValues(event);
104  }
105  */
106  }
107 
109  std::map<std::string, VariableHelper*>::iterator f = multipleInstance_.find(user);
110  if (f == multipleInstance_.end()) {
111  std::cerr << user << " VariableHelper user not defined." << std::endl;
112  throw;
113  } else {
116  }
117  }
118 };
119 
120 #endif
edm::ModuleDescription::moduleLabel
std::string const & moduleLabel() const
Definition: ModuleDescription.h:43
ModuleCallingContext.h
MessageLogger.h
VariableHelperService::~VariableHelperService
~VariableHelperService()
Definition: VariableHelper.h:53
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
VariableHelper::print
void print() const
Definition: VariableHelper.cc:29
CachingVariable.h
VariableHelper::VariableHelper
VariableHelper(const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
Definition: VariableHelper.cc:9
VariableHelperService::get
VariableHelper & get()
Definition: VariableHelper.h:73
VariableHelperService::init
VariableHelper & init(std::string user, const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
Definition: VariableHelper.h:60
VariableHelperService::VariableHelperService
VariableHelperService(const edm::ParameterSet &iConfig, edm::ActivityRegistry &r)
Definition: VariableHelper.h:43
VariableHelper::printValues
std::string printValues(const edm::Event &event) const
Definition: VariableHelper.cc:36
CachingVariable
Definition: CachingVariable.h:40
edm::ModuleCallingContext::moduleDescription
ModuleDescription const * moduleDescription() const
Definition: ModuleCallingContext.h:50
edm::ModuleDescription
Definition: ModuleDescription.h:21
VariableHelperService::preModule
void preModule(edm::StreamContext const &, edm::ModuleCallingContext const &mcc)
Definition: VariableHelper.h:81
ModuleDescription.h
ActivityRegistry.h
VariableHelper::~VariableHelper
~VariableHelper()
Definition: VariableHelper.h:14
edm::StreamContext
Definition: StreamContext.h:31
VariableHelper::iterator
std::map< std::string, const CachingVariable * >::const_iterator iterator
Definition: VariableHelper.h:19
edm::ActivityRegistry
Definition: ActivityRegistry.h:132
VariableHelper
Definition: VariableHelper.h:11
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
VariableHelper::variable
const CachingVariable * variable(std::string name) const
Definition: VariableHelper.cc:49
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:674
VariableHelper::setHolder
void setHolder(std::string hn)
Definition: VariableHelper.cc:22
edm::ParameterSet
Definition: ParameterSet.h:36
VariableHelperService::postProcess
void postProcess(edm::StreamContext const &sc)
Definition: VariableHelper.h:92
beam_dqm_sourceclient-live_cfg.cerr
cerr
Definition: beam_dqm_sourceclient-live_cfg.py:17
VariableHelper::end
iterator end()
Definition: VariableHelper.h:24
VariableHelperService::printValuesForEachEvent_
bool printValuesForEachEvent_
Definition: VariableHelper.h:39
VariableHelper::variables_
std::map< std::string, const CachingVariable * > variables_
Definition: VariableHelper.h:31
VariableHelper::begin
iterator begin()
Definition: VariableHelper.h:23
VariableHelperService
Definition: VariableHelper.h:34
EnviromentSettings.user
user
Definition: EnviromentSettings.py:30
alignCSCRings.r
r
Definition: alignCSCRings.py:93
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
VariableHelperService::SetVariableHelperUniqueInstance_
VariableHelper * SetVariableHelperUniqueInstance_
Definition: VariableHelper.h:36
VariableHelperService::multipleInstance_
std::map< std::string, VariableHelper * > multipleInstance_
Definition: VariableHelper.h:37
VariableHelperService::set
VariableHelper & set(std::string user)
Definition: VariableHelper.h:108
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
ConsumesCollector.h
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
VariableHelperService::printValuesForEachEventCategory_
std::string printValuesForEachEventCategory_
Definition: VariableHelper.h:40
edm::ConsumesCollector
Definition: ConsumesCollector.h:39
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29