|
void | findAllSubdirectories (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const std::string &dir, std::set< std::string > *myList, const TString &pattern) |
|
Definition at line 29 of file HLTMuonRefMethod.cc.
◆ HLTMuonRefMethod()
◆ ~HLTMuonRefMethod()
HLTMuonRefMethod::~HLTMuonRefMethod |
( |
| ) |
|
|
overridedefault |
◆ beginJob()
void HLTMuonRefMethod::beginJob |
( |
void |
| ) |
|
|
override |
◆ beginRun()
◆ dqmEndJob()
void HLTMuonRefMethod::dqmEndJob |
( |
DQMStore::IBooker & |
ibooker, |
|
|
DQMStore::IGetter & |
igetter |
|
) |
| |
|
override |
Definition at line 71 of file HLTMuonRefMethod.cc.
72 using vstring = std::vector<std::string>;
73 boost::regex metacharacters{
"[\\^\\$\\.\\*\\+\\?\\|\\(\\)\\{\\}\\[\\]]"};
80 set<string> subDirSet;
82 for (
auto iSubDir =
subDirs_.begin(); iSubDir !=
subDirs_.end(); ++iSubDir) {
88 if (boost::regex_search(
subDir, what, metacharacters)) {
90 const string searchPath =
subDir.substr(0, shiftPos);
101 for (
auto const&
subDir : subDirSet) {
102 for (
unsigned int iEff = 0; iEff !=
efficiency_.size(); ++iEff) {
113 string trig = *iTrigger;
117 TH1* hRef =
refEff->getTH1();
118 TH1* hTrig = trigEff->
getTH1();
119 TH1* hEff = (TH1*)hTrig->Clone((
"eff_" + eff +
"_ref").c_str());
120 hEff->SetTitle(
"Efficiency obtained with reference method");
121 TClass* myHistClass = hTrig->IsA();
122 TString histClassName = myHistClass->GetName();
124 if (histClassName ==
"TH1F") {
125 for (
int bin = 0;
bin < hEff->GetNbinsX(); ++
bin) {
126 hEff->SetBinContent(
bin + 1, hEff->GetBinContent(
bin + 1) * hRef->GetBinContent(
bin + 1));
127 hEff->SetBinError(
bin + 1,
128 hEff->GetBinContent(
bin + 1) * hRef->GetBinError(
bin + 1) +
129 hEff->GetBinError(
bin + 1) * hRef->GetBinContent(
bin + 1));
132 ibooker.book1D(hEff->GetName(), (TH1F*)hEff);
134 }
else if (histClassName ==
"TH2F") {
135 for (
int i = 0;
i < hRef->GetXaxis()->GetNbins(); ++
i) {
136 for (
int j = 0;
j < hRef->GetYaxis()->GetNbins(); ++
j) {
137 int bin = hEff->GetBin(
i + 1,
j + 1);
138 hEff->SetBinContent(
bin, hRef->GetBinContent(
i + 1,
j + 1) * hTrig->GetBinContent(
i + 1));
142 ibooker.book2D(hEff->GetName(), (TH2F*)hEff);
144 LogInfo(
"HLTMuonRefMethod") <<
"Histo class type << " << histClassName <<
" not implemented";
References newFWLiteAna::bin, dqm::legacy::MonitorElement::getTH1(), mps_fire::i, dqmiolumiharvest::j, topSingleLeptonDQM_PU_cfi::pattern, MuonPostProcessor_cff::refEff, PostProcessorHcalIsoTrack_cfi::subDir, and ClusterTask_cfi::trig.
◆ findAllSubdirectories()
void HLTMuonRefMethod::findAllSubdirectories |
( |
DQMStore::IBooker & |
ibooker, |
|
|
DQMStore::IGetter & |
igetter, |
|
|
const std::string & |
dir, |
|
|
std::set< std::string > * |
myList, |
|
|
const TString & |
pattern = TString("") |
|
) |
| |
|
private |
◆ efficiency_
std::vector<std::string> HLTMuonRefMethod::efficiency_ |
|
private |
◆ hltTriggers_
std::vector<std::string> HLTMuonRefMethod::hltTriggers_ |
|
private |
◆ outputFileName_
std::string HLTMuonRefMethod::outputFileName_ |
|
private |
◆ refEff_
std::vector<std::string> HLTMuonRefMethod::refEff_ |
|
private |
◆ refTriggers_
std::string HLTMuonRefMethod::refTriggers_ |
|
private |
◆ subDirs_
std::vector<std::string> HLTMuonRefMethod::subDirs_ |
|
private |