CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DQMProvInfo Class Reference

#include <DQMProvInfo.h>

Inheritance diagram for DQMProvInfo:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 DQMProvInfo (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~DQMProvInfo ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze. More...
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 
void endLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c)
 
- Protected Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- 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)
 

Private Member Functions

std::string getShowTags (void)
 
void makeDcsInfo (const edm::Event &e)
 
void makeGtInfo (const edm::Event &e)
 
void makeHLTKeyInfo (const edm::Run &r, const edm::EventSetup &c)
 
void makeProvInfo ()
 

Private Attributes

int beamMode_
 
DQMStoredbe_
 
bool dcs25 [25]
 
MonitorElementfileVersion_
 
std::string globalTag_
 
bool gotProcessParameterSet_
 
MonitorElementhBeamMode_
 
MonitorElementhHltKey_
 
MonitorElementhIntensity1_
 
MonitorElementhIntensity2_
 
MonitorElementhIsCollisionsRun_
 
MonitorElementhLhcFill_
 
MonitorElementhMomentum_
 
MonitorElementhostName_
 
int intensity1_
 
int intensity2_
 
MonitorElementisComplete_
 The PID associated with this job. More...
 
int lastlumi_
 
int lhcFill_
 
int momentum_
 
std::string nameProcess_
 
edm::ParameterSet parameters_
 
bool physDecl_
 
MonitorElementprocessId_
 Current working directory of the job. More...
 
std::string provinfofolder_
 
MonitorElementreportSummary_
 
MonitorElementreportSummaryMap_
 
std::string runType_
 
std::string subsystemname_
 
MonitorElementversCMSSW_
 
MonitorElementversDataset_
 
MonitorElementversGlobaltag_
 
MonitorElementversRuntype_
 
MonitorElementversTaglist_
 
MonitorElementworkingDir_
 Hostname of the local machine. More...
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 27 of file DQMProvInfo.h.

Constructor & Destructor Documentation

DQMProvInfo::DQMProvInfo ( const edm::ParameterSet ps)

Constructor.

Definition at line 25 of file DQMProvInfo.cc.

References dbe_, dcs25, edm::ParameterSet::getUntrackedParameter(), globalTag_, gotProcessParameterSet_, i, lastlumi_, nameProcess_, cppFunctionSkipper::operator, parameters_, physDecl_, provinfofolder_, runType_, AlCaHLTBitMon_QueryRunRegistry::string, and subsystemname_.

25  {
26 
27  parameters_ = ps;
28 
30  globalTag_ = "MODULE::DEFAULT";
31  runType_ = parameters_.getUntrackedParameter<std::string>("runType", "No run type selected") ;
32  provinfofolder_ = parameters_.getUntrackedParameter<std::string>("provInfoFolder", "ProvInfo") ;
33  subsystemname_ = parameters_.getUntrackedParameter<std::string>("subSystemFolder", "Info") ;
34 
35  // initialize
36  nameProcess_ = "HLT"; // the process name is not contained in this ps
38  physDecl_=true; // set true and switch off in case a single event in a given LS does not have it set.
39  for (int i=0;i<25;i++) dcs25[i]=true;
40  lastlumi_=0;
41 }
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
bool gotProcessParameterSet_
Definition: DQMProvInfo.h:64
std::string nameProcess_
Definition: DQMProvInfo.h:60
std::string globalTag_
Definition: DQMProvInfo.h:58
std::string subsystemname_
Definition: DQMProvInfo.h:57
DQMStore * dbe_
Definition: DQMProvInfo.h:52
bool physDecl_
Definition: DQMProvInfo.h:62
std::string runType_
Definition: DQMProvInfo.h:59
std::string provinfofolder_
Definition: DQMProvInfo.h:56
bool dcs25[25]
Definition: DQMProvInfo.h:63
edm::ParameterSet parameters_
Definition: DQMProvInfo.h:54
DQMProvInfo::~DQMProvInfo ( )
virtual

Destructor.

Definition at line 43 of file DQMProvInfo.cc.

43  {
44 }

Member Function Documentation

void DQMProvInfo::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Analyze.

Implements edm::EDAnalyzer.

Definition at line 150 of file DQMProvInfo.cc.

References MonitorElement::Fill(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), edm::Event::getProcessParameterSet(), globalTag_, gotProcessParameterSet_, makeDcsInfo(), makeGtInfo(), nameProcess_, edm::Event::processHistory(), edm::ProcessHistory::size(), AlCaHLTBitMon_QueryRunRegistry::string, and versGlobaltag_.

150  {
154  //fetch the real process name
155  nameProcess_ = e.processHistory()[e.processHistory().size()-1].processName();
157  globalTag_ = ps.getParameterSet("PoolDBESSource@GlobalTag").getParameter<std::string>("globaltag");
159  }
160 
161  makeDcsInfo(e);
162  makeGtInfo(e);
163 
164  return;
165 }
bool getProcessParameterSet(std::string const &processName, ParameterSet &ps) const
Definition: Event.cc:83
T getParameter(std::string const &) const
size_type size() const
bool gotProcessParameterSet_
Definition: DQMProvInfo.h:64
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:79
std::string nameProcess_
Definition: DQMProvInfo.h:60
void makeDcsInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:355
void Fill(long long x)
std::string globalTag_
Definition: DQMProvInfo.h:58
void makeGtInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:424
virtual ProcessHistory const & processHistory() const
Definition: Event.cc:188
ParameterSet const & getParameterSet(std::string const &) const
void DQMProvInfo::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 47 of file DQMProvInfo.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookFloat(), DQMStore::bookInt(), DQMStore::cd(), dbe_, dcs25, MonitorElement::Fill(), MonitorElement::getTH1F(), MonitorElement::getTH2F(), hBeamMode_, hIntensity1_, hIntensity2_, hIsCollisionsRun_, hLhcFill_, hMomentum_, i, lastlumi_, makeHLTKeyInfo(), makeProvInfo(), physDecl_, reportSummary_, reportSummaryMap_, MonitorElement::setAxisTitle(), MonitorElement::setBinContent(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), subsystemname_, XBINS, and YBINS.

47  {
48 
49  makeProvInfo();
50  makeHLTKeyInfo(r,c);
51 
52  dbe_->cd();
53  dbe_->setCurrentFolder(subsystemname_ +"/EventInfo/");
54 
55  reportSummary_=dbe_->bookFloat("reportSummary");
56  reportSummaryMap_ = dbe_->book2D("reportSummaryMap",
57  "HV and Beam Status vs Lumi", XBINS, 1., XBINS+1, YBINS+1, 0., YBINS+1);
58  reportSummaryMap_->setBinLabel(1," CSC+",2);
59  reportSummaryMap_->setBinLabel(2," CSC-",2);
60  reportSummaryMap_->setBinLabel(3," DT0",2);
61  reportSummaryMap_->setBinLabel(4," DT+",2);
62  reportSummaryMap_->setBinLabel(5," DT-",2);
63  reportSummaryMap_->setBinLabel(6," EB+",2);
64  reportSummaryMap_->setBinLabel(7," EB-",2);
65  reportSummaryMap_->setBinLabel(8," EE+",2);
66  reportSummaryMap_->setBinLabel(9," EE-",2);
67  reportSummaryMap_->setBinLabel(10,"ES+",2);
68  reportSummaryMap_->setBinLabel(11,"ES-",2);
69  reportSummaryMap_->setBinLabel(12,"HBHEa",2);
70  reportSummaryMap_->setBinLabel(13,"HBHEb",2);
71  reportSummaryMap_->setBinLabel(14,"HBHEc",2);
72  reportSummaryMap_->setBinLabel(15,"HF",2);
73  reportSummaryMap_->setBinLabel(16,"HO",2);
74  reportSummaryMap_->setBinLabel(17,"BPIX",2);
75  reportSummaryMap_->setBinLabel(18,"FPIX",2);
76  reportSummaryMap_->setBinLabel(19,"RPC",2);
77  reportSummaryMap_->setBinLabel(20,"TIBTID",2);
78  reportSummaryMap_->setBinLabel(21,"TOB",2);
79  reportSummaryMap_->setBinLabel(22,"TECp",2);
80  reportSummaryMap_->setBinLabel(23,"TECm",2);
81  reportSummaryMap_->setBinLabel(24,"CASTOR",2);
82  reportSummaryMap_->setBinLabel(25,"ZDC",2);
83  reportSummaryMap_->setBinLabel(26,"PhysDecl",2);
84  reportSummaryMap_->setBinLabel(27,"8 TeV",2);
85  reportSummaryMap_->setBinLabel(28,"Stable B",2);
86  reportSummaryMap_->setBinLabel(29,"Valid",2);
87  reportSummaryMap_->setAxisTitle("Luminosity Section");
88  reportSummaryMap_->getTH2F()->SetBit(TH1::kCanRebin);
89 
90  dbe_->cd();
91  dbe_->setCurrentFolder(subsystemname_ +"/LhcInfo/");
92  hBeamMode_=dbe_->book1D("beamMode","beamMode",XBINS,1.,XBINS+1);
93  hBeamMode_->getTH1F()->GetYaxis()->Set(21,0.5,21.5);
94  hBeamMode_->getTH1F()->SetMaximum(21.5);
95  hBeamMode_->getTH1F()->SetBit(TH1::kCanRebin);
96 
97  hBeamMode_->setAxisTitle("Luminosity Section",1);
98  hBeamMode_->setBinLabel(1,"no mode",2);
99  hBeamMode_->setBinLabel(2,"setup",2);
100  hBeamMode_->setBinLabel(3,"inj pilot",2);
101  hBeamMode_->setBinLabel(4,"inj intr",2);
102  hBeamMode_->setBinLabel(5,"inj nomn",2);
103  hBeamMode_->setBinLabel(6,"pre ramp",2);
104  hBeamMode_->setBinLabel(7,"ramp",2);
105  hBeamMode_->setBinLabel(8,"flat top",2);
106  hBeamMode_->setBinLabel(9,"squeeze",2);
107  hBeamMode_->setBinLabel(10,"adjust",2);
108  hBeamMode_->setBinLabel(11,"stable",2);
109  hBeamMode_->setBinLabel(12,"unstable",2);
110  hBeamMode_->setBinLabel(13,"beam dump",2);
111  hBeamMode_->setBinLabel(14,"ramp down",2);
112  hBeamMode_->setBinLabel(15,"recovery",2);
113  hBeamMode_->setBinLabel(16,"inj dump",2);
114  hBeamMode_->setBinLabel(17,"circ dump",2);
115  hBeamMode_->setBinLabel(18,"abort",2);
116  hBeamMode_->setBinLabel(19,"cycling",2);
117  hBeamMode_->setBinLabel(20,"warn b-dump",2);
118  hBeamMode_->setBinLabel(21,"no beam",2);
119  hBeamMode_->setBinContent(0.,22.);
120 
121 
122  hLhcFill_=dbe_->book1D("lhcFill","LHC Fill Number",XBINS,1.,XBINS+1);
123  hLhcFill_->setAxisTitle("Luminosity Section",1);
124  hLhcFill_->getTH1F()->SetBit(TH1::kCanRebin);
125 
126  hMomentum_=dbe_->book1D("momentum","Beam Energy [GeV]",XBINS,1.,XBINS+1);
127  hMomentum_->setAxisTitle("Luminosity Section",1);
128  hMomentum_->getTH1F()->SetBit(TH1::kCanRebin);
129 
130  hIntensity1_=dbe_->book1D("intensity1","Intensity Beam 1",XBINS,1.,XBINS+1);
131  hIntensity1_->setAxisTitle("Luminosity Section",1);
132  hIntensity1_->setAxisTitle("N [E10]",2);
133  hIntensity1_->getTH1F()->SetBit(TH1::kCanRebin);
134  hIntensity2_=dbe_->book1D("intensity2","Intensity Beam 2",XBINS,1.,XBINS+1);
135  hIntensity2_->setAxisTitle("Luminosity Section",1);
136  hIntensity2_->setAxisTitle("N [E10]",2);
137  hIntensity2_->getTH1F()->SetBit(TH1::kCanRebin);
138 
139  dbe_->cd();
140  dbe_->setCurrentFolder(subsystemname_ +"/ProvInfo/");
141  hIsCollisionsRun_ = dbe_->bookInt("isCollisionsRun");
143 
144  // initialize
145  physDecl_=true;
146  for (int i=0;i<25;i++) dcs25[i]=true;
147  lastlumi_=0;
148 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:88
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:92
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:97
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:90
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:411
void makeHLTKeyInfo(const edm::Run &r, const edm::EventSetup &c)
Definition: DQMProvInfo.cc:394
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
static const int YBINS
Definition: DQMProvInfo.cc:23
static const int XBINS
Definition: DQMProvInfo.cc:22
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:659
void Fill(long long x)
void makeProvInfo()
Definition: DQMProvInfo.cc:330
std::string subsystemname_
Definition: DQMProvInfo.h:57
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:89
DQMStore * dbe_
Definition: DQMProvInfo.h:52
bool physDecl_
Definition: DQMProvInfo.h:62
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:91
TH1F * getTH1F(void) const
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:94
TH2F * getTH2F(void) const
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:629
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
bool dcs25[25]
Definition: DQMProvInfo.h:63
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:98
void DQMProvInfo::endLuminosityBlock ( const edm::LuminosityBlock l,
const edm::EventSetup c 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 168 of file DQMProvInfo.cc.

References beamMode_, dcs25, MonitorElement::Fill(), MonitorElement::getBinContent(), MonitorElement::getTH1F(), hBeamMode_, hIntensity1_, hIntensity2_, hIsCollisionsRun_, hLhcFill_, hMomentum_, i, edm::LuminosityBlockBase::id(), intensity1_, intensity2_, lastlumi_, lhcFill_, edm::LuminosityBlockID::luminosityBlock(), momentum_, physDecl_, reportSummary_, reportSummaryMap_, MonitorElement::setBinContent(), XBINS, and YBINS.

169 {
170 
171  int nlumi = l.id().luminosityBlock();
172 
173  edm::LogInfo("DQMProvInfo") << "nlumi: " << nlumi << " / number of bins: " << hBeamMode_->getTH1F()->GetNbinsX() << std::endl;
174 
175  if (nlumi <= lastlumi_ ) return;
176 
182 
183  // set to previous in case there was a jump or no previous fill
184  for (int l=lastlumi_+1;l<nlumi;l++)
185  {
187  {
189  for (int i=0;i<YBINS;i++)
190  {
191  float lastvalue = reportSummaryMap_->getBinContent(lastlumi_,i+1);
192  reportSummaryMap_->setBinContent(l,i+1,lastvalue);
193  }
194  }
195  else
196  {
197  reportSummaryMap_->setBinContent(l,YBINS+1,0.);
198  for (int i=0;i<YBINS;i++)
200  }
201  }
202 
203 
204  // fill dcs vs lumi
205  reportSummaryMap_->setBinContent(nlumi,YBINS+1,1.);
206  for (int i=0;i<25;i++)
207  {
208  if (dcs25[i])
209  reportSummaryMap_->setBinContent(nlumi,i+1,1.);
210  else
211  reportSummaryMap_->setBinContent(nlumi,i+1,0.);
212 
213  // set next lumi to -1 for better visibility
214  if (nlumi < XBINS)
215  reportSummaryMap_->setBinContent(nlumi+1,i+1,-1.);
216  dcs25[i]=true;
217  }
218 
219  // fill physics decl. bit in y bin 26
220  if (physDecl_)
221  {
222  reportSummary_->Fill(1.);
223  reportSummaryMap_->setBinContent(nlumi,25+1,1.);
224  if (nlumi < XBINS)
225  reportSummaryMap_->setBinContent(nlumi+1,25+1,-1.);
226  }
227  else
228  {
229  reportSummary_->Fill(0.);
230  reportSummaryMap_->setBinContent(nlumi,25+1,0.);
231  if (nlumi < XBINS)
232  reportSummaryMap_->setBinContent(nlumi+1,25+1,-1.);
233  }
234 
235  // fill 7 TeV bit in y bin 27
236  if (momentum_ == 3500 || momentum_ == 4000 )
237  {
238  reportSummary_->Fill(1.);
239  reportSummaryMap_->setBinContent(nlumi,26+1,1.);
240  if (nlumi < XBINS)
241  reportSummaryMap_->setBinContent(nlumi+1,26+1,-1.);
242  }
243  else
244  {
245  reportSummary_->Fill(0.);
246  reportSummaryMap_->setBinContent(nlumi,26+1,0.);
247  if (nlumi < XBINS)
248  reportSummaryMap_->setBinContent(nlumi+1,26+1,-1.);
249  }
250 
251  // fill stable beams bit in y bin 28
252  if (beamMode_ == 11)
253  {
255  reportSummary_->Fill(1.);
256  reportSummaryMap_->setBinContent(nlumi,27+1,1.);
257  if (nlumi < XBINS)
258  reportSummaryMap_->setBinContent(nlumi+1,27+1,-1.);
259  }
260  else
261  {
262  reportSummary_->Fill(0.);
263  reportSummaryMap_->setBinContent(nlumi,27+1,0.);
264  if (nlumi < XBINS)
265  reportSummaryMap_->setBinContent(nlumi+1,27+1,-1.);
266  }
267 
268  // reset
269  physDecl_=true;
270  lastlumi_=nlumi;
271 
272  return;
273 
274 }
LuminosityBlockID id() const
int i
Definition: DBlmapReader.cc:9
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:88
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:92
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:97
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:90
int intensity2_
Definition: DQMProvInfo.h:71
static const int YBINS
Definition: DQMProvInfo.cc:23
static const int XBINS
Definition: DQMProvInfo.cc:22
void Fill(long long x)
int intensity1_
Definition: DQMProvInfo.h:70
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:89
bool physDecl_
Definition: DQMProvInfo.h:62
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:91
TH1F * getTH1F(void) const
LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:94
double getBinContent(int binx) const
get content of bin (1-D)
bool dcs25[25]
Definition: DQMProvInfo.h:63
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:98
std::string DQMProvInfo::getShowTags ( void  )
private

Definition at line 278 of file DQMProvInfo.cc.

References cmsCodeRulesChecker::cwd, newFWLiteAna::found, geometryCSVtoXML::line, dbtoconf::out, pipe::pipe(), alignCSCRings::r, AlCaHLTBitMon_QueryRunRegistry::string, and XBINS.

Referenced by makeProvInfo().

279 {
280  TString out;
281  TString cwd;
282  TString showtagswd;
283  cwd=gSystem->pwd();
284  showtagswd=gSystem->ExpandPathName("$CMSSW_BASE/");
285  gSystem->ChangeDirectory(showtagswd);
286  FILE *pipe = gSystem->OpenPipe("showtags u -t", "r");
287 
288  TString line;
289  while (line.Gets(pipe,true)) {
290  if (line.Contains("Test Release")) continue;
291  if (line.Contains("Base Release")) continue;
292  if (line.Contains("Test release")) continue;
293  if (line.Contains("--- Tag ---")) continue;
294  if (line.Contains(" ")) line.Replace(line.First(" "),1,":");
295  line.ReplaceAll(" ","");
296  out = out + line + ";";
297  if (line.Contains("-------------------")) break;
298  if (out.Length()>XBINS) break;
299  }
300  out.ReplaceAll("--","");
301  out.ReplaceAll(";-",";");
302  out.ReplaceAll(";;",";");
303  out.ReplaceAll("\n","");
304 
305  Int_t r = gSystem->ClosePipe(pipe);
306  gSystem->ChangeDirectory(cwd);
307  if (r) {
308  gSystem->Error("ShowTags","problem running command showtags -u -t");
309  }
310 
311  std::string str(out);
312  if (str.length()>2000) str.resize(2000);
313 
314  std::string safestr =
315  "/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-;:";
316  size_t found=str.find_first_not_of(safestr);
317  if (found!=std::string::npos)
318  {
319  edm::LogWarning("DQMProvInfo::ShowTags") << " Illegal character found: "
320  << str[found]
321  << " at position "
322  << int(found) ;
323  return "notags";
324  }
325  return str;
326 }
def pipe
Definition: pipe.py:5
static const int XBINS
Definition: DQMProvInfo.cc:22
tuple out
Definition: dbtoconf.py:99
void DQMProvInfo::makeDcsInfo ( const edm::Event e)
private

Definition at line 355 of file DQMProvInfo.cc.

References DcsStatus::BPIX, DcsStatus::CASTOR, DcsStatus::CSCm, DcsStatus::CSCp, dcs25, DcsStatus::DT0, DcsStatus::DTm, DcsStatus::DTp, DcsStatus::EBm, DcsStatus::EBp, DcsStatus::EEm, DcsStatus::EEp, DcsStatus::ESm, DcsStatus::ESp, DcsStatus::FPIX, edm::Event::getByLabel(), DcsStatus::HBHEa, DcsStatus::HBHEb, DcsStatus::HBHEc, DcsStatus::HF, DcsStatus::HO, hitfit::return, DcsStatus::RPC, DcsStatus::TECm, DcsStatus::TECp, DcsStatus::TIBTID, DcsStatus::TOB, and DcsStatus::ZDC.

Referenced by analyze().

356 {
357 
359  e.getByLabel("scalersRawToDigi", dcsStatus);
360  for (DcsStatusCollection::const_iterator dcsStatusItr = dcsStatus->begin();
361  dcsStatusItr != dcsStatus->end(); ++dcsStatusItr)
362  {
363  // edm::LogInfo("DQMProvInfo") << "DCS status: 0x" << std::hex << dcsStatusItr->ready() << std::dec << std::endl;
364  if (!dcsStatusItr->ready(DcsStatus::CSCp)) dcs25[0]=false;
365  if (!dcsStatusItr->ready(DcsStatus::CSCm)) dcs25[1]=false;
366  if (!dcsStatusItr->ready(DcsStatus::DT0)) dcs25[2]=false;
367  if (!dcsStatusItr->ready(DcsStatus::DTp)) dcs25[3]=false;
368  if (!dcsStatusItr->ready(DcsStatus::DTm)) dcs25[4]=false;
369  if (!dcsStatusItr->ready(DcsStatus::EBp)) dcs25[5]=false;
370  if (!dcsStatusItr->ready(DcsStatus::EBm)) dcs25[6]=false;
371  if (!dcsStatusItr->ready(DcsStatus::EEp)) dcs25[7]=false;
372  if (!dcsStatusItr->ready(DcsStatus::EEm)) dcs25[8]=false;
373  if (!dcsStatusItr->ready(DcsStatus::ESp)) dcs25[9]=false;
374  if (!dcsStatusItr->ready(DcsStatus::ESm)) dcs25[10]=false;
375  if (!dcsStatusItr->ready(DcsStatus::HBHEa)) dcs25[11]=false;
376  if (!dcsStatusItr->ready(DcsStatus::HBHEb)) dcs25[12]=false;
377  if (!dcsStatusItr->ready(DcsStatus::HBHEc)) dcs25[13]=false;
378  if (!dcsStatusItr->ready(DcsStatus::HF)) dcs25[14]=false;
379  if (!dcsStatusItr->ready(DcsStatus::HO)) dcs25[15]=false;
380  if (!dcsStatusItr->ready(DcsStatus::BPIX)) dcs25[16]=false;
381  if (!dcsStatusItr->ready(DcsStatus::FPIX)) dcs25[17]=false;
382  if (!dcsStatusItr->ready(DcsStatus::RPC)) dcs25[18]=false;
383  if (!dcsStatusItr->ready(DcsStatus::TIBTID)) dcs25[19]=false;
384  if (!dcsStatusItr->ready(DcsStatus::TOB)) dcs25[20]=false;
385  if (!dcsStatusItr->ready(DcsStatus::TECp)) dcs25[21]=false;
386  if (!dcsStatusItr->ready(DcsStatus::TECm)) dcs25[22]=false;
387  if (!dcsStatusItr->ready(DcsStatus::CASTOR)) dcs25[23]=false;
388  if (!dcsStatusItr->ready(DcsStatus::ZDC)) dcs25[24]=false;
389  }
390 
391  return ;
392 }
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
bool dcs25[25]
Definition: DQMProvInfo.h:63
void DQMProvInfo::makeGtInfo ( const edm::Event e)
private

Definition at line 424 of file DQMProvInfo.cc.

References L1GtfeExtWord::beamMode(), beamMode_, L1GtfeExtWord::beamMomentum(), edm::Event::getByLabel(), L1GlobalTriggerReadoutRecord::gtFdlWord(), L1GlobalTriggerEvmReadoutRecord::gtfeWord(), intensity1_, intensity2_, lhcFill_, L1GtfeExtWord::lhcFillNumber(), momentum_, physDecl_, L1GtFdlWord::physicsDeclared(), edm::Handle< T >::product(), L1GtfeExtWord::totalIntensityBeam1(), and L1GtfeExtWord::totalIntensityBeam2().

Referenced by analyze().

425 {
426 
428  e.getByLabel("gtDigis", gtrr_handle);
429  L1GlobalTriggerReadoutRecord const* gtrr = gtrr_handle.product();
430  L1GtFdlWord fdlWord ;
431  if (gtrr)
432  fdlWord = gtrr->gtFdlWord();
433  else
434  {
435  edm::LogWarning("DQMProvInfo") << " phys decl. bit not accessible !!!" ;
436  physDecl_=false;
437  return;
438  }
439  // cout << "phys decl. bit =" << static_cast<int>(fdlWord.physicsDeclared()) << endl;
440  if (fdlWord.physicsDeclared() !=1) physDecl_=false;
441 
442 
443  //
445  e.getByLabel("gtEvmDigis", gtEvm_handle);
446  L1GlobalTriggerEvmReadoutRecord const* gtevm = gtEvm_handle.product();
447 
448  L1GtfeWord gtfeEvmWord;
449  L1GtfeExtWord gtfeEvmExtWord;
450  if (gtevm)
451  {
452  gtfeEvmWord = gtevm->gtfeWord();
453  gtfeEvmExtWord = gtevm->gtfeWord();
454  }
455  else
456  edm::LogInfo("DQMProvInfo") << " gtfeEvmWord inaccessible" ;
457 
458  lhcFill_ = gtfeEvmExtWord.lhcFillNumber();
459  beamMode_ = gtfeEvmExtWord.beamMode();
460  momentum_ = gtfeEvmExtWord.beamMomentum();
461  intensity1_ = gtfeEvmExtWord.totalIntensityBeam1();
462  intensity2_ = gtfeEvmExtWord.totalIntensityBeam2();
463 
464  edm::LogInfo("DQMProvInfo") << lhcFill_ << " " << beamMode_ << " "
465  << momentum_ << " "
466  << intensity1_ << " " << intensity2_
467  << std::endl;
468 
469  return;
470 }
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
int intensity2_
Definition: DQMProvInfo.h:71
const cms_uint16_t beamMomentum() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
const cms_uint32_t totalIntensityBeam2() const
int intensity1_
Definition: DQMProvInfo.h:70
const cms_uint32_t totalIntensityBeam1() const
const L1GtFdlWord gtFdlWord(int bxInEventValue) const
get / set FDL word (record) in the GT readout record
const cms_uint32_t lhcFillNumber() const
bool physDecl_
Definition: DQMProvInfo.h:62
const cms_uint16_t physicsDeclared() const
get/set &quot;physics declared&quot; bit
Definition: L1GtFdlWord.h:229
T const * product() const
Definition: Handle.h:74
const cms_uint16_t beamMode() const
void DQMProvInfo::makeHLTKeyInfo ( const edm::Run r,
const edm::EventSetup c 
)
private

Definition at line 394 of file DQMProvInfo.cc.

References DQMStore::bookString(), DQMStore::cd(), dbe_, hHltKey_, HltComparatorCreateWorkflow::hltConfig, relval_steps::hltKey, HLTConfigProvider::init(), nameProcess_, provinfofolder_, hitfit::return, DQMStore::setCurrentFolder(), HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, subsystemname_, and HLTConfigProvider::tableName().

Referenced by beginRun().

395 {
396 
397  std::string hltKey = "";
399  bool changed( true );
400  if ( ! hltConfig.init( r, c, nameProcess_, changed) )
401  {
402  // edm::LogInfo("DQMProvInfo") << "errorHltConfigExtraction" << std::endl;
403  hltKey = "error extraction" ;
404  }
405  else if ( hltConfig.size() <= 0 )
406  {
407  // edm::LogInfo("DQMProvInfo") << "hltConfig" << std::endl;
408  hltKey = "error key of length 0" ;
409  }
410  else
411  {
412  edm::LogInfo("DQMProvInfo") << "HLT key (run) : " << hltConfig.tableName() << std::endl;
413  hltKey = hltConfig.tableName() ;
414  }
415 
416  dbe_->cd() ;
418  hHltKey_= dbe_->bookString("hltKey",hltKey);
419 
420  return ;
421 
422 }
unsigned int size() const
number of trigger paths in trigger table
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:411
const std::string & tableName() const
HLT ConfDB table name.
MonitorElement * hHltKey_
Definition: DQMProvInfo.h:95
std::string nameProcess_
Definition: DQMProvInfo.h:60
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:688
std::string subsystemname_
Definition: DQMProvInfo.h:57
DQMStore * dbe_
Definition: DQMProvInfo.h:52
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::string provinfofolder_
Definition: DQMProvInfo.h:56
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
void DQMProvInfo::makeProvInfo ( )
private

Definition at line 330 of file DQMProvInfo.cc.

References DQMStore::bookInt(), DQMStore::bookString(), DQMStore::cd(), dbe_, fileVersion_, MonitorElement::Fill(), edm::getReleaseVersion(), getShowTags(), globalTag_, hostName_, isComplete_, processId_, provinfofolder_, hitfit::return, runType_, DQMStore::setCurrentFolder(), subsystemname_, versCMSSW_, versGlobaltag_, versRuntype_, versTaglist_, and workingDir_.

Referenced by beginRun().

331 {
332  dbe_->cd() ;
334 
335  // if (dbe_->get("ProvInfo/CMSSW")) return ;
336 
337  versCMSSW_ = dbe_->bookString("CMSSW",edm::getReleaseVersion().c_str() );
338  hostName_ = dbe_->bookString("hostName",gSystem->HostName());
339  workingDir_ = dbe_->bookString("workingDir",gSystem->pwd());
340  processId_ = dbe_->bookInt("processID"); processId_->Fill(gSystem->GetPid());
341 
342  //versDataset_ = dbe_->bookString("Dataset",workflow_);
343  versGlobaltag_ = dbe_->bookString("Globaltag",globalTag_);
344  versRuntype_ = dbe_->bookString("Run Type",runType_);
345  versTaglist_ = dbe_->bookString("Taglist",getShowTags());
346 
347  isComplete_ = dbe_->bookInt("runIsComplete");
348  //isComplete_->Fill((runIsComplete_?1:0));
349  fileVersion_ = dbe_->bookInt("fileVersion");
350  //fileVersion_->Fill(version_);
351 
352  return ;
353 }
MonitorElement * fileVersion_
Definition: DQMProvInfo.h:86
MonitorElement * workingDir_
Hostname of the local machine.
Definition: DQMProvInfo.h:83
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:411
MonitorElement * processId_
Current working directory of the job.
Definition: DQMProvInfo.h:84
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:79
MonitorElement * versTaglist_
Definition: DQMProvInfo.h:78
void Fill(long long x)
std::string globalTag_
Definition: DQMProvInfo.h:58
MonitorElement * versRuntype_
Definition: DQMProvInfo.h:80
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:688
MonitorElement * isComplete_
The PID associated with this job.
Definition: DQMProvInfo.h:85
std::string getShowTags(void)
Definition: DQMProvInfo.cc:278
std::string subsystemname_
Definition: DQMProvInfo.h:57
std::string getReleaseVersion()
DQMStore * dbe_
Definition: DQMProvInfo.h:52
MonitorElement * versCMSSW_
Definition: DQMProvInfo.h:76
std::string runType_
Definition: DQMProvInfo.h:59
std::string provinfofolder_
Definition: DQMProvInfo.h:56
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:629
MonitorElement * hostName_
Definition: DQMProvInfo.h:81
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434

Member Data Documentation

int DQMProvInfo::beamMode_
private

Definition at line 68 of file DQMProvInfo.h.

Referenced by endLuminosityBlock(), and makeGtInfo().

DQMStore* DQMProvInfo::dbe_
private

Definition at line 52 of file DQMProvInfo.h.

Referenced by beginRun(), DQMProvInfo(), makeHLTKeyInfo(), and makeProvInfo().

bool DQMProvInfo::dcs25[25]
private

Definition at line 63 of file DQMProvInfo.h.

Referenced by beginRun(), DQMProvInfo(), endLuminosityBlock(), and makeDcsInfo().

MonitorElement* DQMProvInfo::fileVersion_
private

Definition at line 86 of file DQMProvInfo.h.

Referenced by makeProvInfo().

std::string DQMProvInfo::globalTag_
private

Definition at line 58 of file DQMProvInfo.h.

Referenced by analyze(), DQMProvInfo(), and makeProvInfo().

bool DQMProvInfo::gotProcessParameterSet_
private

Definition at line 64 of file DQMProvInfo.h.

Referenced by analyze(), and DQMProvInfo().

MonitorElement* DQMProvInfo::hBeamMode_
private

Definition at line 88 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::hHltKey_
private

Definition at line 95 of file DQMProvInfo.h.

Referenced by makeHLTKeyInfo().

MonitorElement* DQMProvInfo::hIntensity1_
private

Definition at line 91 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::hIntensity2_
private

Definition at line 92 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::hIsCollisionsRun_
private

Definition at line 94 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::hLhcFill_
private

Definition at line 89 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::hMomentum_
private

Definition at line 90 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::hostName_
private

Definition at line 81 of file DQMProvInfo.h.

Referenced by makeProvInfo().

int DQMProvInfo::intensity1_
private

Definition at line 70 of file DQMProvInfo.h.

Referenced by endLuminosityBlock(), and makeGtInfo().

int DQMProvInfo::intensity2_
private

Definition at line 71 of file DQMProvInfo.h.

Referenced by endLuminosityBlock(), and makeGtInfo().

MonitorElement* DQMProvInfo::isComplete_
private

The PID associated with this job.

Definition at line 85 of file DQMProvInfo.h.

Referenced by makeProvInfo().

int DQMProvInfo::lastlumi_
private

Definition at line 66 of file DQMProvInfo.h.

Referenced by beginRun(), DQMProvInfo(), and endLuminosityBlock().

int DQMProvInfo::lhcFill_
private

Definition at line 67 of file DQMProvInfo.h.

Referenced by endLuminosityBlock(), and makeGtInfo().

int DQMProvInfo::momentum_
private

Definition at line 69 of file DQMProvInfo.h.

Referenced by endLuminosityBlock(), and makeGtInfo().

std::string DQMProvInfo::nameProcess_
private

Definition at line 60 of file DQMProvInfo.h.

Referenced by analyze(), DQMProvInfo(), and makeHLTKeyInfo().

edm::ParameterSet DQMProvInfo::parameters_
private
bool DQMProvInfo::physDecl_
private

Definition at line 62 of file DQMProvInfo.h.

Referenced by beginRun(), DQMProvInfo(), endLuminosityBlock(), and makeGtInfo().

MonitorElement* DQMProvInfo::processId_
private

Current working directory of the job.

Definition at line 84 of file DQMProvInfo.h.

Referenced by makeProvInfo().

std::string DQMProvInfo::provinfofolder_
private

Definition at line 56 of file DQMProvInfo.h.

Referenced by DQMProvInfo(), makeHLTKeyInfo(), and makeProvInfo().

MonitorElement* DQMProvInfo::reportSummary_
private

Definition at line 97 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

MonitorElement* DQMProvInfo::reportSummaryMap_
private

Definition at line 98 of file DQMProvInfo.h.

Referenced by beginRun(), and endLuminosityBlock().

std::string DQMProvInfo::runType_
private

Definition at line 59 of file DQMProvInfo.h.

Referenced by DQMProvInfo(), and makeProvInfo().

std::string DQMProvInfo::subsystemname_
private

Definition at line 57 of file DQMProvInfo.h.

Referenced by beginRun(), DQMProvInfo(), makeHLTKeyInfo(), and makeProvInfo().

MonitorElement* DQMProvInfo::versCMSSW_
private

Definition at line 76 of file DQMProvInfo.h.

Referenced by makeProvInfo().

MonitorElement* DQMProvInfo::versDataset_
private

Definition at line 77 of file DQMProvInfo.h.

MonitorElement* DQMProvInfo::versGlobaltag_
private

Definition at line 79 of file DQMProvInfo.h.

Referenced by analyze(), and makeProvInfo().

MonitorElement* DQMProvInfo::versRuntype_
private

Definition at line 80 of file DQMProvInfo.h.

Referenced by makeProvInfo().

MonitorElement* DQMProvInfo::versTaglist_
private

Definition at line 78 of file DQMProvInfo.h.

Referenced by makeProvInfo().

MonitorElement* DQMProvInfo::workingDir_
private

Hostname of the local machine.

Definition at line 83 of file DQMProvInfo.h.

Referenced by makeProvInfo().