From de5a0367e92a094d07e5e1ec74f05870b996097e Mon Sep 17 00:00:00 2001 From: Pavol Strizenec <Pavol.Strizenec@cern.ch> Date: Tue, 31 May 2016 17:13:06 +0200 Subject: [PATCH] add histograms for MNB monitoring (LArMonTools-02-00-40) * add many histograms for mini-noise burst (MNB) monitoring in LArNoisyROMon.cxx / LArNoisyROMon.h * increase range on plots from 2000 to 2500 luminosity blocks, following long run (in LArNoisyROMon.cxx) * tag LArMonTools-02-00-40 Former-commit-id: ba0f9096e9437f4a9287a0e39dfb803674e8f818 --- .../LArMonTools/LArMonTools/LArNoisyROMon.h | 79 ++ .../LArMonTools/src/LArNoisyROMon.cxx | 1148 ++++++++++++++++- 2 files changed, 1187 insertions(+), 40 deletions(-) diff --git a/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h b/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h index fb1a86fab7e..fdd93f39756 100644 --- a/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h +++ b/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h @@ -53,27 +53,74 @@ private: NoiseTime m_NoiseTime; TTree* m_NoiseTimeTree; + struct CandidateMNB + { + unsigned int candidate_MNB_time; + unsigned int candidate_MNB_time_ns; + int n_candidate_MNBTight_FEB; + int n_candidate_MNBLoose_FEB; + std::vector<int>* v_candidate_MNBTightFEB; + std::vector<int>* v_candidate_MNBLooseFEB; + }; + CandidateMNB m_CandidateMNB; + TTree* m_CandidateMNBTree; struct partitionHistos { partitionHistos() { h_NoisyFEBFracPerEvt = NULL; + h_MNBTightFEBFracPerEvt = NULL; + h_MNBLooseFEBFracPerEvt = NULL; + h_CandidateMNBTightFEBFracPerEvt = NULL; + h_CandidateMNBLooseFEBFracPerEvt = NULL; h_NoisyEventFrac = NULL; h_NoisyEventTimeVetoFrac = NULL; + h_MNBTightEventFrac = NULL; + h_MNBTightEventTimeVetoFrac = NULL; + h_MNBLooseEventFrac = NULL; + h_MNBLooseEventTimeVetoFrac = NULL; + h_CandidateMNBTightEventFrac = NULL; + h_CandidateMNBTightEventTimeVetoFrac = NULL; + h_CandidateMNBLooseEventFrac = NULL; + h_CandidateMNBLooseEventTimeVetoFrac = NULL; h_NoisyWEventFrac = NULL; h_NoisyWEventTimeVetoFrac = NULL; h_NoisyEventTrigger = NULL; h_NoisyFEBPerEvt = NULL; + h_MNBTightFEBPerEvt = NULL; + h_MNBLooseFEBPerEvt = NULL; + h_CandidateMNBTightFEBPerEvt = NULL; + h_CandidateMNBLooseFEBPerEvt = NULL; h_NoisyEvent = NULL; h_NoisyEventTimeVeto = NULL; + h_MNBTightEvent = NULL; + h_MNBLooseEvent = NULL; + h_MNBTightEventTimeVeto = NULL; + h_MNBLooseEventTimeVeto = NULL; + h_CandidateMNBTightEvent = NULL; + h_CandidateMNBLooseEvent = NULL; + h_CandidateMNBTightEventTimeVeto = NULL; + h_CandidateMNBLooseEventTimeVeto = NULL; h_NoisyWEvent = NULL; h_NoisyWEventTimeVeto = NULL; h_NoisyEventTriggerL1 = NULL; } TH2F_LW* h_NoisyFEBFracPerEvt; + TH2F_LW* h_MNBTightFEBFracPerEvt; + TH2F_LW* h_MNBLooseFEBFracPerEvt; + TH2F_LW* h_CandidateMNBTightFEBFracPerEvt; + TH2F_LW* h_CandidateMNBLooseFEBFracPerEvt; TH1F_LW* h_NoisyEventFrac; + TH1F_LW* h_MNBTightEventFrac; + TH1F_LW* h_MNBLooseEventFrac; + TH1F_LW* h_CandidateMNBTightEventFrac; + TH1F_LW* h_CandidateMNBLooseEventFrac; TH1F_LW* h_NoisyWEventFrac; TH1F_LW* h_NoisyEventTimeVetoFrac; + TH1F_LW* h_MNBTightEventTimeVetoFrac; + TH1F_LW* h_MNBLooseEventTimeVetoFrac; + TH1F_LW* h_CandidateMNBTightEventTimeVetoFrac; + TH1F_LW* h_CandidateMNBLooseEventTimeVetoFrac; TH1F_LW* h_NoisyWEventTimeVetoFrac; TH1I_LW* h_NoisyEventTrigger; TH1I_LW* h_NoisyEventTriggerL1; @@ -82,17 +129,49 @@ private: // in 'online' mode they are used to produce regularly the 'Frac' // histograms TH2F_LW* h_NoisyFEBPerEvt; + TH2F_LW* h_MNBTightFEBPerEvt; + TH2F_LW* h_MNBLooseFEBPerEvt; + TH2F_LW* h_CandidateMNBTightFEBPerEvt; + TH2F_LW* h_CandidateMNBLooseFEBPerEvt; TH1I_LW* h_NoisyEvent; + TH1I_LW* h_MNBTightEvent; + TH1I_LW* h_MNBLooseEvent; + TH1I_LW* h_CandidateMNBTightEvent; + TH1I_LW* h_CandidateMNBLooseEvent; TH1I_LW* h_NoisyWEvent; TH1I_LW* h_NoisyEventTimeVeto; + TH1I_LW* h_MNBTightEventTimeVeto; + TH1I_LW* h_MNBLooseEventTimeVeto; + TH1I_LW* h_CandidateMNBTightEventTimeVeto; + TH1I_LW* h_CandidateMNBLooseEventTimeVeto; TH1I_LW* h_NoisyWEventTimeVeto; }; TH1I_LW* h_NoisyFEB; TH1F_LW* h_NoisyEventFrac; TH1F_LW* h_NoisyEventTimeVetoFrac; + TH1I_LW* h_MNBTightFEB; + TH1F_LW* h_MNBTightEventFrac; + TH1F_LW* h_MNBTightEventTimeVetoFrac; + TH1I_LW* h_MNBLooseFEB; + TH1F_LW* h_MNBLooseEventFrac; + TH1F_LW* h_MNBLooseEventTimeVetoFrac; + TH1I_LW* h_CandidateMNBTightFEB; + TH1F_LW* h_CandidateMNBTightEventFrac; + TH1F_LW* h_CandidateMNBTightEventTimeVetoFrac; + TH1I_LW* h_CandidateMNBLooseFEB; + TH1F_LW* h_CandidateMNBLooseEventFrac; + TH1F_LW* h_CandidateMNBLooseEventTimeVetoFrac; TH1F_LW* h_SaturatedTightFrac; TH1I_LW* h_NoisyEvent; TH1I_LW* h_NoisyEventTimeVeto; + TH1I_LW* h_MNBTightEvent; + TH1I_LW* h_MNBTightEventTimeVeto; + TH1I_LW* h_MNBLooseEvent; + TH1I_LW* h_MNBLooseEventTimeVeto; + TH1I_LW* h_CandidateMNBTightEvent; + TH1I_LW* h_CandidateMNBTightEventTimeVeto; + TH1I_LW* h_CandidateMNBLooseEvent; + TH1I_LW* h_CandidateMNBLooseEventTimeVeto; TH1I_LW* h_SaturatedTight; TH1I_LW* h_SaturatedTightTimeVeto; TH1F_LW* h_SaturatedTightTimeVetoFrac; diff --git a/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx b/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx index d9a136da5ad..7c8afbf9b0e 100644 --- a/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx +++ b/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx @@ -24,7 +24,7 @@ LArNoisyROMon::LArNoisyROMon(const std::string& type, const std::string& name, const IInterface* parent): ManagedMonitorToolBase(type, name, parent), - m_NoiseTimeTree(NULL), m_eventCounter(0), m_LArOnlineIDHelper(NULL), m_strHelper(NULL), m_trigDec("Trig::TrigDecisionTool/TrigDecisionTool"), m_EF_NoiseBurst_Triggers(), m_L1_NoiseBurst_Triggers() + m_NoiseTimeTree(NULL), m_CandidateMNBTree(NULL), m_eventCounter(0), m_LArOnlineIDHelper(NULL), m_strHelper(NULL), m_trigDec("Trig::TrigDecisionTool/TrigDecisionTool"), m_EF_NoiseBurst_Triggers(), m_L1_NoiseBurst_Triggers() { declareProperty("IsOnline", m_IsOnline=false); declareProperty("NoisyFEBDefStr", m_NoisyFEBDefStr=""); @@ -37,17 +37,43 @@ LArNoisyROMon::LArNoisyROMon(const std::string& type, m_NoiseTime.time_ns = 0; m_NoiseTime.algo = 0; + m_CandidateMNB.candidate_MNB_time = 0; + m_CandidateMNB.candidate_MNB_time_ns = 0; + m_CandidateMNB.n_candidate_MNBTight_FEB = 0; + m_CandidateMNB.n_candidate_MNBLoose_FEB = 0; + m_CandidateMNB.v_candidate_MNBTightFEB = new std::vector<int>; + m_CandidateMNB.v_candidate_MNBLooseFEB = new std::vector<int>; + h_NoisyFEB = NULL; h_NoisyEventFrac = NULL; h_NoisyEventTimeVetoFrac = NULL; + h_MNBTightFEB = NULL; + h_MNBTightEventFrac = NULL; + h_MNBTightEventTimeVetoFrac = NULL; + h_MNBLooseFEB = NULL; + h_MNBLooseEventFrac = NULL; + h_MNBLooseEventTimeVetoFrac = NULL; + h_CandidateMNBTightFEB = NULL; + h_CandidateMNBTightEventFrac = NULL; + h_CandidateMNBTightEventTimeVetoFrac = NULL; + h_CandidateMNBLooseFEB = NULL; + h_CandidateMNBLooseEventFrac = NULL; + h_CandidateMNBLooseEventTimeVetoFrac = NULL; h_SaturatedTightFrac = NULL; h_NoisyEvent = NULL; h_NoisyEventTimeVeto = NULL; + h_MNBTightEvent = NULL; + h_MNBTightEventTimeVeto = NULL; + h_MNBLooseEvent = NULL; + h_MNBLooseEventTimeVeto = NULL; + h_CandidateMNBTightEvent = NULL; + h_CandidateMNBTightEventTimeVeto = NULL; + h_CandidateMNBLooseEvent = NULL; + h_CandidateMNBLooseEventTimeVeto = NULL; h_SaturatedTight = NULL; h_SaturatedTightTimeVeto = NULL; h_SaturatedTightTimeVetoFrac = NULL; h_LBN = NULL; - } LArNoisyROMon::~LArNoisyROMon() @@ -110,45 +136,126 @@ StatusCode LArNoisyROMon::bookHistograms() h_NoisyFEB = TH1I_LW::create("NoisyFEB", hTitle.c_str(), 50,0.,50.); h_NoisyFEB->GetXaxis()->SetTitle("# of noisy FEB"); overall.regHist(h_NoisyFEB).ignore(); + + hTitle = "Number of tight noisy FEB "+m_NoisyFEBDefStr+ " per event"; + h_MNBTightFEB = TH1I_LW::create("NoisyFEB", hTitle.c_str(), 50,0.,50.); + h_MNBTightFEB->GetXaxis()->SetTitle("# of noisy FEB"); + overall.regHist(h_MNBTightFEB).ignore(); + + hTitle = "Number of tight noisy FEB "+m_NoisyFEBDefStr+ " per event"; + h_MNBLooseFEB = TH1I_LW::create("NoisyFEB", hTitle.c_str(), 50,0.,50.); + h_MNBLooseFEB->GetXaxis()->SetTitle("# of noisy FEB"); + overall.regHist(h_MNBLooseFEB).ignore(); + + hTitle = "Number of tight noisy FEB "+m_NoisyFEBDefStr+ " per event"; + h_CandidateMNBTightFEB = TH1I_LW::create("NoisyFEB", hTitle.c_str(), 50,0.,50.); + h_CandidateMNBTightFEB->GetXaxis()->SetTitle("# of noisy FEB"); + overall.regHist(h_CandidateMNBTightFEB).ignore(); + + hTitle = "Number of tight noisy FEB "+m_NoisyFEBDefStr+ " per event"; + h_CandidateMNBLooseFEB = TH1I_LW::create("NoisyFEB", hTitle.c_str(), 50,0.,50.); + h_CandidateMNBLooseFEB->GetXaxis()->SetTitle("# of noisy FEB"); + overall.regHist(h_CandidateMNBLooseFEB).ignore(); m_NoiseTimeTree = new TTree("LArNoise","LAr noisy events"); m_NoiseTimeTree->Branch("time",&m_NoiseTime.time,"time/i"); m_NoiseTimeTree->Branch("time_ns",&m_NoiseTime.time_ns,"time_ns/i"); m_NoiseTimeTree->Branch("algo",&m_NoiseTime.algo,"algo/b"); overall.regTree(m_NoiseTimeTree).ignore(); + + m_CandidateMNBTree = new TTree("CandidateMNBFebs","Candidate MNB Febs"); + m_CandidateMNBTree->Branch("candidate_MNB_time",&m_CandidateMNB.candidate_MNB_time,"candidate_MNB_time/i"); + m_CandidateMNBTree->Branch("candidate_MNB_time_ns",&m_CandidateMNB.candidate_MNB_time_ns,"candidate_MNB_time_ns/i"); + m_CandidateMNBTree->Branch("n_candidate_MNBTight_FEB",&m_CandidateMNB.n_candidate_MNBTight_FEB,"n_candidate_MNBTight_FEB/i"); + m_CandidateMNBTree->Branch("n_candidate_MNBLoose_FEB",&m_CandidateMNB.n_candidate_MNBLoose_FEB,"n_candidate_MNBLoose_FEB/i"); + m_CandidateMNBTree->Branch("v_candidate_MNBTightFEB", "vector<int>", &m_CandidateMNB.v_candidate_MNBTightFEB); + m_CandidateMNBTree->Branch("v_candidate_MNBLooseFEB", "vector<int>", &m_CandidateMNB.v_candidate_MNBLooseFEB); + overall.regTree(m_CandidateMNBTree).ignore(); MonGroup overallPerCent(this, "/LAr/NoisyRO", run, ATTRIB_MANAGED, "", "perBinEffPerCent" ); - h_NoisyEventFrac = TH1F_LW::create("NoisyEvent", "Yield of events flagged as LArNoisyRO_Std", 2000, 0.5, 2000.5); + h_NoisyEventFrac = TH1F_LW::create("NoisyEvent", "Yield of events flagged as LArNoisyRO_Std", 2500, 0.5, 2500.5); h_NoisyEventFrac->GetXaxis()->SetTitle("Luminosity Block"); overallPerCent.regHist(h_NoisyEventFrac).ignore(); - h_NoisyEvent = TH1I_LW::create("temp_NoisyEvent", hTitle.c_str(), 2000, 0.5, 2000.5); + h_NoisyEvent = TH1I_LW::create("temp_NoisyEvent", hTitle.c_str(), 2500, 0.5, 2500.5); h_NoisyEvent->GetXaxis()->SetTitle("Luminosity Block"); + + h_MNBTightEventFrac = TH1F_LW::create("MNBTightEvent", "Yield of events flagged as LArMNBTightRO_Std", 2500, 0.5, 2500.5); + h_MNBTightEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_MNBTightEventFrac).ignore(); + h_MNBTightEvent = TH1I_LW::create("temp_MNBTightEvent", hTitle.c_str(), 2500, 0.5, 2500.5); + h_MNBTightEvent->GetXaxis()->SetTitle("Luminosity Block"); + + h_MNBLooseEventFrac = TH1F_LW::create("MNBLooseEvent", "Yield of events flagged as LArMNBLooseRO_Std", 2500, 0.5, 2500.5); + h_MNBLooseEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_MNBLooseEventFrac).ignore(); + h_MNBLooseEvent = TH1I_LW::create("temp_MNBLooseEvent", hTitle.c_str(), 2500, 0.5, 2500.5); + h_MNBLooseEvent->GetXaxis()->SetTitle("Luminosity Block"); + + h_CandidateMNBTightEventFrac = TH1F_LW::create("CandidateMNBTightEvent", "Yield of events flagged as LArCandidateMNBTightRO_Std", 2500, 0.5, 2500.5); + h_CandidateMNBTightEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_CandidateMNBTightEventFrac).ignore(); + h_CandidateMNBTightEvent = TH1I_LW::create("temp_CandidateMNBTightEvent", hTitle.c_str(), 2500, 0.5, 2500.5); + h_CandidateMNBTightEvent->GetXaxis()->SetTitle("Luminosity Block"); + + h_CandidateMNBLooseEventFrac = TH1F_LW::create("CandidateMNBLooseEvent", "Yield of events flagged as LArCandidateMNBLooseRO_Std", 2500, 0.5, 2500.5); + h_CandidateMNBLooseEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_CandidateMNBLooseEventFrac).ignore(); + h_CandidateMNBLooseEvent = TH1I_LW::create("temp_CandidateMNBLooseEvent", hTitle.c_str(), 2500, 0.5, 2500.5); + h_CandidateMNBLooseEvent->GetXaxis()->SetTitle("Luminosity Block"); - h_LBN = TH1I_LW::create("LBN", "LBN ", 2000, 0.5, 2000.5); + h_LBN = TH1I_LW::create("LBN", "LBN ", 2500, 0.5, 2500.5); - h_NoisyEventTimeVetoFrac = TH1F_LW::create("NoisyEvent_TimeVeto", "Yield of events flagged as LArNoisyRO_Std not vetoed by time window", 2000, 0.5, 2000.5); + h_NoisyEventTimeVetoFrac = TH1F_LW::create("NoisyEvent_TimeVeto", "Yield of events flagged as LArNoisyRO_Std not vetoed by time window", 2500, 0.5, 2500.5); h_NoisyEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); overallPerCent.regHist(h_NoisyEventTimeVetoFrac).ignore(); // Histogram below is temporary. Normalized at the end of run to produce the above histograms - h_NoisyEventTimeVeto = TH1I_LW::create("temp_NoisyEvent_TimeVeto", hTitle.c_str(), 2000, 0.5, 2000.5); + h_NoisyEventTimeVeto = TH1I_LW::create("temp_NoisyEvent_TimeVeto", hTitle.c_str(), 2500, 0.5, 2500.5); h_NoisyEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + + h_MNBTightEventTimeVetoFrac = TH1F_LW::create("MNBTightEvent_TimeVeto", "Yield of events flagged as LArMNBTightRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + h_MNBTightEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_MNBTightEventTimeVetoFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + h_MNBTightEventTimeVeto = TH1I_LW::create("temp_MNBTightEvent_TimeVeto", hTitle.c_str(), 2500, 0.5, 2500.5); + h_MNBTightEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + + h_MNBLooseEventTimeVetoFrac = TH1F_LW::create("MNBLooseEvent_TimeVeto", "Yield of events flagged as LArMNBLooseRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + h_MNBLooseEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_MNBLooseEventTimeVetoFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + h_MNBLooseEventTimeVeto = TH1I_LW::create("temp_MNBLooseEvent_TimeVeto", hTitle.c_str(), 2500, 0.5, 2500.5); + h_MNBLooseEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + + h_CandidateMNBTightEventTimeVetoFrac = TH1F_LW::create("CandidateMNBTightEvent_TimeVeto", "Yield of events flagged as LArCandidateMNBTightRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + h_CandidateMNBTightEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_CandidateMNBTightEventTimeVetoFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + h_CandidateMNBTightEventTimeVeto = TH1I_LW::create("temp_CandidateMNBTightEvent_TimeVeto", hTitle.c_str(), 2500, 0.5, 2500.5); + h_CandidateMNBTightEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + + h_CandidateMNBLooseEventTimeVetoFrac = TH1F_LW::create("CandidateMNBLooseEvent_TimeVeto", "Yield of events flagged as LArCandidateMNBLooseRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + h_CandidateMNBLooseEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + overallPerCent.regHist(h_CandidateMNBLooseEventTimeVetoFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + h_CandidateMNBLooseEventTimeVeto = TH1I_LW::create("temp_CandidateMNBLooseEvent_TimeVeto", hTitle.c_str(), 2500, 0.5, 2500.5); + h_CandidateMNBLooseEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); hTitle = "Yield of events flagged as LArNoisyROSaturated"; - h_SaturatedTightFrac = TH1F_LW::create("SaturatedTightEvent", hTitle.c_str(), 2000, 0.5, 2000.5); + h_SaturatedTightFrac = TH1F_LW::create("SaturatedTightEvent", hTitle.c_str(), 2500, 0.5, 2500.5); h_SaturatedTightFrac->GetXaxis()->SetTitle("Luminosity Block"); h_SaturatedTightFrac->GetYaxis()->SetTitle("Yield(%)"); overallPerCent.regHist(h_SaturatedTightFrac).ignore(); // Histogram below is temporary. Normalized at the end of run to produce the above histograms - h_SaturatedTight = TH1I_LW::create("temp_SaturatedTight", hTitle.c_str(), 2000, 0.5, 2000.5); + h_SaturatedTight = TH1I_LW::create("temp_SaturatedTight", hTitle.c_str(), 2500, 0.5, 2500.5); h_SaturatedTight->GetXaxis()->SetTitle("Luminosity Block"); hTitle = "Yield of events flagged as LArNoisyROSaturated not vetoed by time window"; - h_SaturatedTightTimeVetoFrac = TH1F_LW::create("SaturatedTightEvent_TimeVeto", hTitle.c_str(), 2000, 0.5, 2000.5); + h_SaturatedTightTimeVetoFrac = TH1F_LW::create("SaturatedTightEvent_TimeVeto", hTitle.c_str(), 2500, 0.5, 2500.5); h_SaturatedTightTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); h_SaturatedTightTimeVetoFrac->GetYaxis()->SetTitle("Yield(%)"); overallPerCent.regHist(h_SaturatedTightTimeVetoFrac).ignore(); // Histogram below is temporary. Normalized at the end of run to produce the above histograms - h_SaturatedTightTimeVeto = TH1I_LW::create("temp_SaturatedTight_TimeVeto", hTitle.c_str(), 2000, 0.5, 2000.5); + h_SaturatedTightTimeVeto = TH1I_LW::create("temp_SaturatedTight_TimeVeto", hTitle.c_str(), 2500, 0.5, 2500.5); h_SaturatedTightTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); return StatusCode::SUCCESS; @@ -181,6 +288,25 @@ StatusCode LArNoisyROMon::fillHistograms() unsigned int LBN = eventInfo->lumiBlock(); bool burstveto = eventInfo->isEventFlagBitSet(xAOD::EventInfo::LAr,LArEventBitInfo::NOISEBURSTVETO); + // Filling Candidate MNB Tree + m_CandidateMNB.candidate_MNB_time=eventInfo->timeStamp(); + m_CandidateMNB.candidate_MNB_time_ns=eventInfo->timeStampNSOffset(); + m_CandidateMNB.v_candidate_MNBTightFEB->clear(); + m_CandidateMNB.v_candidate_MNBLooseFEB->clear(); + const std::vector<HWIdentifier>& mnbtightFEB = noisyRO->get_MNBTight_febs(); + const std::vector<HWIdentifier>& mnblooseFEB = noisyRO->get_MNBLoose_febs(); + m_CandidateMNB.n_candidate_MNBTight_FEB = mnbtightFEB.size(); + m_CandidateMNB.n_candidate_MNBLoose_FEB = mnblooseFEB.size(); + + for(unsigned int iFeb=0; iFeb<mnbtightFEB.size(); iFeb++) + m_CandidateMNB.v_candidate_MNBTightFEB->push_back(mnbtightFEB.at(iFeb).get_identifier32().get_compact()); + + for(unsigned int iFeb=0; iFeb<mnblooseFEB.size(); iFeb++) + m_CandidateMNB.v_candidate_MNBLooseFEB->push_back(mnblooseFEB.at(iFeb).get_identifier32().get_compact()); + + if(m_CandidateMNB.v_candidate_MNBLooseFEB->size() > 0 || m_CandidateMNB.v_candidate_MNBTightFEB->size() > 0) + m_CandidateMNBTree->Fill(); + // Fill the noise bursts timestamp ttree m_NoiseTime.time = eventInfo->timeStamp(); m_NoiseTime.time_ns = eventInfo->timeStampNSOffset(); // Modification by B.Trocme to get the ns precision @@ -254,7 +380,7 @@ StatusCode LArNoisyROMon::fillHistograms() // } } - // Fill the 2D map of noisy FEBs + // Fill the 2D map of noisy and mini-noisy FEBs const std::vector<HWIdentifier>& noisyFEB = noisyRO->get_noisy_febs(); unsigned int NbNoisyFEB = 0; @@ -270,38 +396,271 @@ StatusCode LArNoisyROMon::fillHistograms() { if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) { - if (m_IsOnline) - m_BarrelC.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); - else - m_BarrelC.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + if (m_IsOnline) + m_BarrelC.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_BarrelC.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); } else { - if (m_IsOnline) - m_BarrelA.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); - else - m_BarrelA.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + if (m_IsOnline) + m_BarrelA.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_BarrelA.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); } } if ( m_LArOnlineIDHelper->isEMECchannel(id) ) { if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) { - if (m_IsOnline) - m_EMECC.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); - else - m_EMECC.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + if (m_IsOnline) + m_EMECC.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_EMECC.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); } else { - if (m_IsOnline) - m_EMECA.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); - else - m_EMECA.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + if (m_IsOnline) + m_EMECA.h_NoisyFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_EMECA.h_NoisyFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); } } } h_NoisyFEB->Fill(NbNoisyFEB); + + unsigned int NbMNBTightFEB = 0; + for (size_t i = 0; i<mnbtightFEB.size(); i++) + { + //std::cout << "MNBTight FEB " << noisyFEB[i].get_compact() << std::endl; + NbMNBTightFEB++; + const HWIdentifier& febid = mnbtightFEB[i]; + HWIdentifier id = m_LArOnlineIDHelper->channel_Id(febid,0); + int FT = m_LArOnlineIDHelper->feedthrough(id); + int slot = m_LArOnlineIDHelper->slot(id); + if ( m_LArOnlineIDHelper->isEMBchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBCMask) != 0) + m_BarrelC.h_MNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBCMask) != 0) + m_BarrelC.h_MNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + else + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBAMask) != 0) + m_BarrelA.h_MNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBAMask) != 0) + m_BarrelA.h_MNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + } + if ( m_LArOnlineIDHelper->isEMECchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECCMask) != 0) + m_EMECC.h_MNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECCMask) != 0) + m_EMECC.h_MNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + else + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECAMask) != 0) + m_EMECA.h_MNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECAMask) != 0) + m_EMECA.h_MNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + } + } + h_MNBTightFEB->Fill(NbMNBTightFEB); + + unsigned int NbMNBLooseFEB = 0; + for (size_t i = 0; i<mnblooseFEB.size(); i++) + { + //std::cout << "MNBLoose FEB " << noisyFEB[i].get_compact() << std::endl; + NbMNBLooseFEB++; + const HWIdentifier& febid = mnblooseFEB[i]; + HWIdentifier id = m_LArOnlineIDHelper->channel_Id(febid,0); + int FT = m_LArOnlineIDHelper->feedthrough(id); + int slot = m_LArOnlineIDHelper->slot(id); + if ( m_LArOnlineIDHelper->isEMBchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBCMask) != 0) + m_BarrelC.h_MNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBCMask) != 0) + m_BarrelC.h_MNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + else + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBAMask) != 0) + m_BarrelA.h_MNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMBAMask) != 0) + m_BarrelA.h_MNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + } + if ( m_LArOnlineIDHelper->isEMECchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECCMask) != 0) + m_EMECC.h_MNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECCMask) != 0) + m_EMECC.h_MNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + else + { + if (m_IsOnline) + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECAMask) != 0) + m_EMECA.h_MNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if((noisyRO->MNBTightFlaggedPartitions() & LArNoisyROSummary::EMECAMask) != 0) + m_EMECA.h_MNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + } + } + h_MNBLooseFEB->Fill(NbMNBLooseFEB); + + unsigned int NbCandidateMNBTightFEB = 0; + for (size_t i = 0; i<mnbtightFEB.size(); i++) + { + //std::cout << "CandidateMNBTight FEB " << noisyFEB[i].get_compact() << std::endl; + NbCandidateMNBTightFEB++; + const HWIdentifier& febid = mnbtightFEB[i]; + HWIdentifier id = m_LArOnlineIDHelper->channel_Id(febid,0); + int FT = m_LArOnlineIDHelper->feedthrough(id); + int slot = m_LArOnlineIDHelper->slot(id); + if ( m_LArOnlineIDHelper->isEMBchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + m_BarrelC.h_CandidateMNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_BarrelC.h_CandidateMNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if (m_IsOnline) + m_BarrelA.h_CandidateMNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_BarrelA.h_CandidateMNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + if ( m_LArOnlineIDHelper->isEMECchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + m_EMECC.h_CandidateMNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_EMECC.h_CandidateMNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if (m_IsOnline) + m_EMECA.h_CandidateMNBTightFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_EMECA.h_CandidateMNBTightFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + } + h_CandidateMNBTightFEB->Fill(NbCandidateMNBTightFEB); + + unsigned int NbCandidateMNBLooseFEB = 0; + for (size_t i = 0; i<mnblooseFEB.size(); i++) + { + //std::cout << "CandidateMNBLoose FEB " << noisyFEB[i].get_compact() << std::endl; + NbCandidateMNBLooseFEB++; + const HWIdentifier& febid = mnblooseFEB[i]; + HWIdentifier id = m_LArOnlineIDHelper->channel_Id(febid,0); + int FT = m_LArOnlineIDHelper->feedthrough(id); + int slot = m_LArOnlineIDHelper->slot(id); + if ( m_LArOnlineIDHelper->isEMBchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + m_BarrelC.h_CandidateMNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_BarrelC.h_CandidateMNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if (m_IsOnline) + m_BarrelA.h_CandidateMNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_BarrelA.h_CandidateMNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + if ( m_LArOnlineIDHelper->isEMECchannel(id) ) + { + if ( m_LArOnlineIDHelper->pos_neg(id) == 0 ) + { + if (m_IsOnline) + m_EMECC.h_CandidateMNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_EMECC.h_CandidateMNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + else + { + if (m_IsOnline) + m_EMECA.h_CandidateMNBLooseFEBPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + else + m_EMECA.h_CandidateMNBLooseFEBFracPerEvt->Fill(static_cast<double>(slot), static_cast<double>(FT)+0.1); + } + } + } + h_CandidateMNBLooseFEB->Fill(NbCandidateMNBLooseFEB); + h_LBN->Fill(LBN); // Event found noisy by Std method @@ -339,6 +698,74 @@ StatusCode LArNoisyROMon::fillHistograms() } } + uint8_t MNBTightPartitions = noisyRO->MNBTightFlaggedPartitions(); + if ( MNBTightPartitions != 0) + { + h_MNBTightEvent->Fill(LBN); + if ( ! burstveto ) + { + h_MNBTightEventTimeVeto->Fill(LBN); + } + if ( (MNBTightPartitions & LArNoisyROSummary::EMECAMask) != 0 ) + { + m_EMECA.h_MNBTightEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_EMECA,trigbits,L1trigbits); + if ( ! burstveto ) m_EMECA.h_MNBTightEventTimeVeto->Fill(LBN); + } + if ( (MNBTightPartitions & LArNoisyROSummary::EMBAMask) != 0 ) + { + m_BarrelA.h_MNBTightEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_BarrelA,trigbits,L1trigbits); + if ( ! burstveto ) m_BarrelA.h_MNBTightEventTimeVeto->Fill(LBN); + } + if ( (MNBTightPartitions & LArNoisyROSummary::EMBCMask) != 0 ) + { + m_BarrelC.h_MNBTightEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_BarrelC,trigbits,L1trigbits); + if ( ! burstveto ) m_BarrelC.h_MNBTightEventTimeVeto->Fill(LBN); + } + if ( (MNBTightPartitions & LArNoisyROSummary::EMECCMask) != 0 ) + { + m_EMECC.h_MNBTightEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_EMECC,trigbits,L1trigbits); + if ( ! burstveto ) m_EMECC.h_MNBTightEventTimeVeto->Fill(LBN); + } + } + + uint8_t MNBLoosePartitions = noisyRO->MNBLooseFlaggedPartitions(); + if ( MNBLoosePartitions != 0) + { + h_MNBLooseEvent->Fill(LBN); + if ( ! burstveto ) + { + h_MNBLooseEventTimeVeto->Fill(LBN); + } + if ( (MNBLoosePartitions & LArNoisyROSummary::EMECAMask) != 0 ) + { + m_EMECA.h_MNBLooseEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_EMECA,trigbits,L1trigbits); + if ( ! burstveto ) m_EMECA.h_MNBLooseEventTimeVeto->Fill(LBN); + } + if ( (MNBLoosePartitions & LArNoisyROSummary::EMBAMask) != 0 ) + { + m_BarrelA.h_MNBLooseEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_BarrelA,trigbits,L1trigbits); + if ( ! burstveto ) m_BarrelA.h_MNBLooseEventTimeVeto->Fill(LBN); + } + if ( (MNBLoosePartitions & LArNoisyROSummary::EMBCMask) != 0 ) + { + m_BarrelC.h_MNBLooseEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_BarrelC,trigbits,L1trigbits); + if ( ! burstveto ) m_BarrelC.h_MNBLooseEventTimeVeto->Fill(LBN); + } + if ( (MNBLoosePartitions & LArNoisyROSummary::EMECCMask) != 0 ) + { + m_EMECC.h_MNBLooseEvent->Fill(LBN); + if ( m_doTrigger ) fillTriggerHisto(m_EMECC,trigbits,L1trigbits); + if ( ! burstveto ) m_EMECC.h_MNBLooseEventTimeVeto->Fill(LBN); + } + } + // Event found noisy by weighted Std method uint8_t BadFEB_WPartitions = noisyRO->BadFEB_WFlaggedPartitions(); if ( BadFEB_WPartitions != 0) @@ -386,6 +813,27 @@ StatusCode LArNoisyROMon::procHistograms() CopyHisto(m_BarrelC.h_NoisyFEBPerEvt,m_BarrelC.h_NoisyFEBFracPerEvt); CopyHisto(m_EMECA.h_NoisyFEBPerEvt,m_EMECA.h_NoisyFEBFracPerEvt); CopyHisto(m_EMECC.h_NoisyFEBPerEvt,m_EMECC.h_NoisyFEBFracPerEvt); + + CopyHisto(m_BarrelA.h_MNBTightFEBPerEvt,m_BarrelA.h_MNBTightFEBFracPerEvt); + CopyHisto(m_BarrelC.h_MNBTightFEBPerEvt,m_BarrelC.h_MNBTightFEBFracPerEvt); + CopyHisto(m_EMECA.h_MNBTightFEBPerEvt,m_EMECA.h_MNBTightFEBFracPerEvt); + CopyHisto(m_EMECC.h_MNBTightFEBPerEvt,m_EMECC.h_MNBTightFEBFracPerEvt); + + CopyHisto(m_BarrelA.h_MNBLooseFEBPerEvt,m_BarrelA.h_MNBLooseFEBFracPerEvt); + CopyHisto(m_BarrelC.h_MNBLooseFEBPerEvt,m_BarrelC.h_MNBLooseFEBFracPerEvt); + CopyHisto(m_EMECA.h_MNBLooseFEBPerEvt,m_EMECA.h_MNBLooseFEBFracPerEvt); + CopyHisto(m_EMECC.h_MNBLooseFEBPerEvt,m_EMECC.h_MNBLooseFEBFracPerEvt); + + CopyHisto(m_BarrelA.h_CandidateMNBTightFEBPerEvt,m_BarrelA.h_CandidateMNBTightFEBFracPerEvt); + CopyHisto(m_BarrelC.h_CandidateMNBTightFEBPerEvt,m_BarrelC.h_CandidateMNBTightFEBFracPerEvt); + CopyHisto(m_EMECA.h_CandidateMNBTightFEBPerEvt,m_EMECA.h_CandidateMNBTightFEBFracPerEvt); + CopyHisto(m_EMECC.h_CandidateMNBTightFEBPerEvt,m_EMECC.h_CandidateMNBTightFEBFracPerEvt); + + CopyHisto(m_BarrelA.h_CandidateMNBLooseFEBPerEvt,m_BarrelA.h_CandidateMNBLooseFEBFracPerEvt); + CopyHisto(m_BarrelC.h_CandidateMNBLooseFEBPerEvt,m_BarrelC.h_CandidateMNBLooseFEBFracPerEvt); + CopyHisto(m_EMECA.h_CandidateMNBLooseFEBPerEvt,m_EMECA.h_CandidateMNBLooseFEBFracPerEvt); + CopyHisto(m_EMECC.h_CandidateMNBLooseFEBPerEvt,m_EMECC.h_CandidateMNBLooseFEBFracPerEvt); + } double scale = 100./static_cast<double>(m_eventCounter); @@ -397,10 +845,58 @@ StatusCode LArNoisyROMon::procHistograms() m_EMECA.h_NoisyFEBFracPerEvt->SetEntries(m_eventCounter); m_EMECC.h_NoisyFEBFracPerEvt->scaleContentsAndErrors(scale); m_EMECC.h_NoisyFEBFracPerEvt->SetEntries(m_eventCounter); + + m_BarrelA.h_MNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelA.h_MNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + m_BarrelC.h_MNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelC.h_MNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECA.h_MNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECA.h_MNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECC.h_MNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECC.h_MNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + + m_BarrelA.h_MNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelA.h_MNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); + m_BarrelC.h_MNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelC.h_MNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECA.h_MNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECA.h_MNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECC.h_MNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECC.h_MNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); + + m_BarrelA.h_CandidateMNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelA.h_CandidateMNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + m_BarrelC.h_CandidateMNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelC.h_CandidateMNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECA.h_CandidateMNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECA.h_CandidateMNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECC.h_CandidateMNBTightFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECC.h_CandidateMNBTightFEBFracPerEvt->SetEntries(m_eventCounter); + + m_BarrelA.h_CandidateMNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelA.h_CandidateMNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); + m_BarrelC.h_CandidateMNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_BarrelC.h_CandidateMNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECA.h_CandidateMNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECA.h_CandidateMNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); + m_EMECC.h_CandidateMNBLooseFEBFracPerEvt->scaleContentsAndErrors(scale); + m_EMECC.h_CandidateMNBLooseFEBFracPerEvt->SetEntries(m_eventCounter); Divide(h_NoisyEventFrac,h_NoisyEvent,h_LBN); h_NoisyEventFrac->SetEntries(m_eventCounter); + Divide(h_MNBTightEventFrac,h_MNBTightEvent,h_LBN); + h_MNBTightEventFrac->SetEntries(m_eventCounter); + + Divide(h_MNBLooseEventFrac,h_MNBLooseEvent,h_LBN); + h_MNBLooseEventFrac->SetEntries(m_eventCounter); + + Divide(h_CandidateMNBTightEventFrac,h_CandidateMNBTightEvent,h_LBN); + h_CandidateMNBTightEventFrac->SetEntries(m_eventCounter); + + Divide(h_CandidateMNBLooseEventFrac,h_CandidateMNBLooseEvent,h_LBN); + h_CandidateMNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_BarrelA.h_NoisyEventFrac,m_BarrelA.h_NoisyEvent,h_LBN); m_BarrelA.h_NoisyEventFrac->SetEntries(m_eventCounter); Divide(m_BarrelC.h_NoisyEventFrac,m_BarrelC.h_NoisyEvent,h_LBN); @@ -410,6 +906,42 @@ StatusCode LArNoisyROMon::procHistograms() Divide(m_EMECC.h_NoisyEventFrac,m_EMECC.h_NoisyEvent,h_LBN); m_EMECC.h_NoisyEventFrac->SetEntries(m_eventCounter); + Divide(m_BarrelA.h_MNBTightEventFrac,m_BarrelA.h_MNBTightEvent,h_LBN); + m_BarrelA.h_MNBTightEventFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_MNBTightEventFrac,m_BarrelC.h_MNBTightEvent,h_LBN); + m_BarrelC.h_MNBTightEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_MNBTightEventFrac,m_EMECA.h_MNBTightEvent,h_LBN); + m_EMECA.h_MNBTightEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_MNBTightEventFrac,m_EMECC.h_MNBTightEvent,h_LBN); + m_EMECC.h_MNBTightEventFrac->SetEntries(m_eventCounter); + + Divide(m_BarrelA.h_MNBLooseEventFrac,m_BarrelA.h_MNBLooseEvent,h_LBN); + m_BarrelA.h_MNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_MNBLooseEventFrac,m_BarrelC.h_MNBLooseEvent,h_LBN); + m_BarrelC.h_MNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_MNBLooseEventFrac,m_EMECA.h_MNBLooseEvent,h_LBN); + m_EMECA.h_MNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_MNBLooseEventFrac,m_EMECC.h_MNBLooseEvent,h_LBN); + m_EMECC.h_MNBLooseEventFrac->SetEntries(m_eventCounter); + + Divide(m_BarrelA.h_CandidateMNBTightEventFrac,m_BarrelA.h_CandidateMNBTightEvent,h_LBN); + m_BarrelA.h_CandidateMNBTightEventFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_CandidateMNBTightEventFrac,m_BarrelC.h_CandidateMNBTightEvent,h_LBN); + m_BarrelC.h_CandidateMNBTightEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_CandidateMNBTightEventFrac,m_EMECA.h_CandidateMNBTightEvent,h_LBN); + m_EMECA.h_CandidateMNBTightEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_CandidateMNBTightEventFrac,m_EMECC.h_CandidateMNBTightEvent,h_LBN); + m_EMECC.h_CandidateMNBTightEventFrac->SetEntries(m_eventCounter); + + Divide(m_BarrelA.h_CandidateMNBLooseEventFrac,m_BarrelA.h_CandidateMNBLooseEvent,h_LBN); + m_BarrelA.h_CandidateMNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_CandidateMNBLooseEventFrac,m_BarrelC.h_CandidateMNBLooseEvent,h_LBN); + m_BarrelC.h_CandidateMNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_CandidateMNBLooseEventFrac,m_EMECA.h_CandidateMNBLooseEvent,h_LBN); + m_EMECA.h_CandidateMNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_CandidateMNBLooseEventFrac,m_EMECC.h_CandidateMNBLooseEvent,h_LBN); + m_EMECC.h_CandidateMNBLooseEventFrac->SetEntries(m_eventCounter); + Divide(m_BarrelA.h_NoisyWEventFrac,m_BarrelA.h_NoisyWEvent,h_LBN); m_BarrelA.h_NoisyWEventFrac->SetEntries(m_eventCounter); Divide(m_BarrelC.h_NoisyWEventFrac,m_BarrelC.h_NoisyWEvent,h_LBN); @@ -429,6 +961,50 @@ StatusCode LArNoisyROMon::procHistograms() m_EMECA.h_NoisyEventTimeVetoFrac->SetEntries(m_eventCounter); Divide(m_EMECC.h_NoisyEventTimeVetoFrac,m_EMECC.h_NoisyEventTimeVeto,h_LBN); m_EMECC.h_NoisyEventTimeVetoFrac->SetEntries(m_eventCounter); + + Divide(h_MNBTightEventTimeVetoFrac,h_MNBTightEventTimeVeto,h_LBN); + h_MNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelA.h_MNBTightEventTimeVetoFrac,m_BarrelA.h_MNBTightEventTimeVeto,h_LBN); + m_BarrelA.h_MNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_MNBTightEventTimeVetoFrac,m_BarrelC.h_MNBTightEventTimeVeto,h_LBN); + m_BarrelC.h_MNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_MNBTightEventTimeVetoFrac,m_EMECA.h_MNBTightEventTimeVeto,h_LBN); + m_EMECA.h_MNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_MNBTightEventTimeVetoFrac,m_EMECC.h_MNBTightEventTimeVeto,h_LBN); + m_EMECC.h_MNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + + Divide(h_MNBLooseEventTimeVetoFrac,h_MNBLooseEventTimeVeto,h_LBN); + h_MNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelA.h_MNBLooseEventTimeVetoFrac,m_BarrelA.h_MNBLooseEventTimeVeto,h_LBN); + m_BarrelA.h_MNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_MNBLooseEventTimeVetoFrac,m_BarrelC.h_MNBLooseEventTimeVeto,h_LBN); + m_BarrelC.h_MNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_MNBLooseEventTimeVetoFrac,m_EMECA.h_MNBLooseEventTimeVeto,h_LBN); + m_EMECA.h_MNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_MNBLooseEventTimeVetoFrac,m_EMECC.h_MNBLooseEventTimeVeto,h_LBN); + m_EMECC.h_MNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + + Divide(h_CandidateMNBTightEventTimeVetoFrac,h_CandidateMNBTightEventTimeVeto,h_LBN); + h_CandidateMNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelA.h_CandidateMNBTightEventTimeVetoFrac,m_BarrelA.h_CandidateMNBTightEventTimeVeto,h_LBN); + m_BarrelA.h_CandidateMNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_CandidateMNBTightEventTimeVetoFrac,m_BarrelC.h_CandidateMNBTightEventTimeVeto,h_LBN); + m_BarrelC.h_CandidateMNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_CandidateMNBTightEventTimeVetoFrac,m_EMECA.h_CandidateMNBTightEventTimeVeto,h_LBN); + m_EMECA.h_CandidateMNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_CandidateMNBTightEventTimeVetoFrac,m_EMECC.h_CandidateMNBTightEventTimeVeto,h_LBN); + m_EMECC.h_CandidateMNBTightEventTimeVetoFrac->SetEntries(m_eventCounter); + + Divide(h_CandidateMNBLooseEventTimeVetoFrac,h_CandidateMNBLooseEventTimeVeto,h_LBN); + h_CandidateMNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelA.h_CandidateMNBLooseEventTimeVetoFrac,m_BarrelA.h_CandidateMNBLooseEventTimeVeto,h_LBN); + m_BarrelA.h_CandidateMNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_BarrelC.h_CandidateMNBLooseEventTimeVetoFrac,m_BarrelC.h_CandidateMNBLooseEventTimeVeto,h_LBN); + m_BarrelC.h_CandidateMNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECA.h_CandidateMNBLooseEventTimeVetoFrac,m_EMECA.h_CandidateMNBLooseEventTimeVeto,h_LBN); + m_EMECA.h_CandidateMNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); + Divide(m_EMECC.h_CandidateMNBLooseEventTimeVetoFrac,m_EMECC.h_CandidateMNBLooseEventTimeVeto,h_LBN); + m_EMECC.h_CandidateMNBLooseEventTimeVetoFrac->SetEntries(m_eventCounter); Divide(m_BarrelA.h_NoisyWEventTimeVetoFrac,m_BarrelA.h_NoisyWEventTimeVeto,h_LBN); m_BarrelA.h_NoisyWEventTimeVetoFrac->SetEntries(m_eventCounter); @@ -503,6 +1079,209 @@ StatusCode LArNoisyROMon::procHistograms() // m_EMECC.h_NoisyEventTimeVeto = NULL; m_EMECC.h_NoisyEventTimeVeto->Reset(); } + if ( h_MNBTightEvent ) { +// LWHist::safeDelete(h_MNBTightEvent); +// h_MNBTightEvent = NULL; + h_MNBTightEvent->Reset(); + } + if ( m_BarrelA.h_MNBTightEvent ) { +// LWHist::safeDelete(m_BarrelA.h_MNBTightEvent); +// m_BarrelA.h_MNBTightEvent = NULL; + m_BarrelA.h_MNBTightEvent->Reset(); + } + if ( m_BarrelC.h_MNBTightEvent ) { +// LWHist::safeDelete(m_BarrelC.h_MNBTightEvent); +// m_BarrelC.h_MNBTightEvent = NULL; + m_BarrelC.h_MNBTightEvent->Reset(); + } + if ( m_EMECA.h_MNBTightEvent ) { +// LWHist::safeDelete(m_EMECA.h_MNBTightEvent); +// m_EMECA.h_MNBTightEvent = NULL; + m_EMECA.h_MNBTightEvent->Reset(); + } + if ( m_EMECC.h_MNBTightEvent ) { +// LWHist::safeDelete(m_EMECC.h_MNBTightEvent); +// m_EMECC.h_MNBTightEvent = NULL; + m_EMECC.h_MNBTightEvent->Reset(); + } + if ( h_MNBTightEventTimeVeto ) { +// LWHist::safeDelete(h_MNBTightEventTimeVeto); +// h_MNBTightEventTimeVeto = NULL; + h_MNBTightEventTimeVeto->Reset(); + } + if ( m_BarrelA.h_MNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelA.h_MNBTightEventTimeVeto); +// m_BarrelA.h_MNBTightEventTimeVeto = NULL; + m_BarrelA.h_MNBTightEventTimeVeto->Reset(); + } + if ( m_BarrelC.h_MNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelC.h_MNBTightEventTimeVeto); +// m_BarrelC.h_MNBTightEventTimeVeto = NULL; + m_BarrelC.h_MNBTightEventTimeVeto->Reset(); + } + if ( m_EMECA.h_MNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_EMECA.h_MNBTightEventTimeVeto); +// m_EMECA.h_MNBTightEventTimeVeto = NULL; + m_EMECA.h_MNBTightEventTimeVeto->Reset(); + } + if ( m_EMECC.h_MNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_EMECC.h_MNBTightEventTimeVeto); +// m_EMECC.h_MNBTightEventTimeVeto = NULL; + m_EMECC.h_MNBTightEventTimeVeto->Reset(); + } + + if ( h_MNBLooseEvent ) { +// LWHist::safeDelete(h_MNBLooseEvent); +// h_MNBLooseEvent = NULL; + h_MNBLooseEvent->Reset(); + } + if ( m_BarrelA.h_MNBLooseEvent ) { +// LWHist::safeDelete(m_BarrelA.h_MNBLooseEvent); +// m_BarrelA.h_MNBLooseEvent = NULL; + m_BarrelA.h_MNBLooseEvent->Reset(); + } + if ( m_BarrelC.h_MNBLooseEvent ) { +// LWHist::safeDelete(m_BarrelC.h_MNBLooseEvent); +// m_BarrelC.h_MNBLooseEvent = NULL; + m_BarrelC.h_MNBLooseEvent->Reset(); + } + if ( m_EMECA.h_MNBLooseEvent ) { +// LWHist::safeDelete(m_EMECA.h_MNBLooseEvent); +// m_EMECA.h_MNBLooseEvent = NULL; + m_EMECA.h_MNBLooseEvent->Reset(); + } + if ( m_EMECC.h_MNBLooseEvent ) { +// LWHist::safeDelete(m_EMECC.h_MNBLooseEvent); +// m_EMECC.h_MNBLooseEvent = NULL; + m_EMECC.h_MNBLooseEvent->Reset(); + } + if ( h_MNBLooseEventTimeVeto ) { +// LWHist::safeDelete(h_MNBLooseEventTimeVeto); +// h_MNBLooseEventTimeVeto = NULL; + h_MNBLooseEventTimeVeto->Reset(); + } + if ( m_BarrelA.h_MNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelA.h_MNBLooseEventTimeVeto); +// m_BarrelA.h_MNBLooseEventTimeVeto = NULL; + m_BarrelA.h_MNBLooseEventTimeVeto->Reset(); + } + if ( m_BarrelC.h_MNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelC.h_MNBLooseEventTimeVeto); +// m_BarrelC.h_MNBLooseEventTimeVeto = NULL; + m_BarrelC.h_MNBLooseEventTimeVeto->Reset(); + } + if ( m_EMECA.h_MNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_EMECA.h_MNBLooseEventTimeVeto); +// m_EMECA.h_MNBLooseEventTimeVeto = NULL; + m_EMECA.h_MNBLooseEventTimeVeto->Reset(); + } + if ( m_EMECC.h_MNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_EMECC.h_MNBLooseEventTimeVeto); +// m_EMECC.h_MNBLooseEventTimeVeto = NULL; + m_EMECC.h_MNBLooseEventTimeVeto->Reset(); + } + + if ( h_CandidateMNBTightEvent ) { +// LWHist::safeDelete(h_CandidateMNBTightEvent); +// h_CandidateMNBTightEvent = NULL; + h_CandidateMNBTightEvent->Reset(); + } + if ( m_BarrelA.h_CandidateMNBTightEvent ) { +// LWHist::safeDelete(m_BarrelA.h_CandidateMNBTightEvent); +// m_BarrelA.h_CandidateMNBTightEvent = NULL; + m_BarrelA.h_CandidateMNBTightEvent->Reset(); + } + if ( m_BarrelC.h_CandidateMNBTightEvent ) { +// LWHist::safeDelete(m_BarrelC.h_CandidateMNBTightEvent); +// m_BarrelC.h_CandidateMNBTightEvent = NULL; + m_BarrelC.h_CandidateMNBTightEvent->Reset(); + } + if ( m_EMECA.h_CandidateMNBTightEvent ) { +// LWHist::safeDelete(m_EMECA.h_CandidateMNBTightEvent); +// m_EMECA.h_CandidateMNBTightEvent = NULL; + m_EMECA.h_CandidateMNBTightEvent->Reset(); + } + if ( m_EMECC.h_CandidateMNBTightEvent ) { +// LWHist::safeDelete(m_EMECC.h_CandidateMNBTightEvent); +// m_EMECC.h_CandidateMNBTightEvent = NULL; + m_EMECC.h_CandidateMNBTightEvent->Reset(); + } + if ( h_CandidateMNBTightEventTimeVeto ) { +// LWHist::safeDelete(h_CandidateMNBTightEventTimeVeto); +// h_CandidateMNBTightEventTimeVeto = NULL; + h_CandidateMNBTightEventTimeVeto->Reset(); + } + if ( m_BarrelA.h_CandidateMNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelA.h_CandidateMNBTightEventTimeVeto); +// m_BarrelA.h_CandidateMNBTightEventTimeVeto = NULL; + m_BarrelA.h_CandidateMNBTightEventTimeVeto->Reset(); + } + if ( m_BarrelC.h_CandidateMNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelC.h_CandidateMNBTightEventTimeVeto); +// m_BarrelC.h_CandidateMNBTightEventTimeVeto = NULL; + m_BarrelC.h_CandidateMNBTightEventTimeVeto->Reset(); + } + if ( m_EMECA.h_CandidateMNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_EMECA.h_CandidateMNBTightEventTimeVeto); +// m_EMECA.h_CandidateMNBTightEventTimeVeto = NULL; + m_EMECA.h_CandidateMNBTightEventTimeVeto->Reset(); + } + if ( m_EMECC.h_CandidateMNBTightEventTimeVeto ) { +// LWHist::safeDelete(m_EMECC.h_CandidateMNBTightEventTimeVeto); +// m_EMECC.h_CandidateMNBTightEventTimeVeto = NULL; + m_EMECC.h_CandidateMNBTightEventTimeVeto->Reset(); + } + + if ( h_CandidateMNBLooseEvent ) { +// LWHist::safeDelete(h_CandidateMNBLooseEvent); +// h_CandidateMNBLooseEvent = NULL; + h_CandidateMNBLooseEvent->Reset(); + } + if ( m_BarrelA.h_CandidateMNBLooseEvent ) { +// LWHist::safeDelete(m_BarrelA.h_CandidateMNBLooseEvent); +// m_BarrelA.h_CandidateMNBLooseEvent = NULL; + m_BarrelA.h_CandidateMNBLooseEvent->Reset(); + } + if ( m_BarrelC.h_CandidateMNBLooseEvent ) { +// LWHist::safeDelete(m_BarrelC.h_CandidateMNBLooseEvent); +// m_BarrelC.h_CandidateMNBLooseEvent = NULL; + m_BarrelC.h_CandidateMNBLooseEvent->Reset(); + } + if ( m_EMECA.h_CandidateMNBLooseEvent ) { +// LWHist::safeDelete(m_EMECA.h_CandidateMNBLooseEvent); +// m_EMECA.h_CandidateMNBLooseEvent = NULL; + m_EMECA.h_CandidateMNBLooseEvent->Reset(); + } + if ( m_EMECC.h_CandidateMNBLooseEvent ) { +// LWHist::safeDelete(m_EMECC.h_CandidateMNBLooseEvent); +// m_EMECC.h_CandidateMNBLooseEvent = NULL; + m_EMECC.h_CandidateMNBLooseEvent->Reset(); + } + if ( h_CandidateMNBLooseEventTimeVeto ) { +// LWHist::safeDelete(h_CandidateMNBLooseEventTimeVeto); +// h_CandidateMNBLooseEventTimeVeto = NULL; + h_CandidateMNBLooseEventTimeVeto->Reset(); + } + if ( m_BarrelA.h_CandidateMNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelA.h_CandidateMNBLooseEventTimeVeto); +// m_BarrelA.h_CandidateMNBLooseEventTimeVeto = NULL; + m_BarrelA.h_CandidateMNBLooseEventTimeVeto->Reset(); + } + if ( m_BarrelC.h_CandidateMNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_BarrelC.h_CandidateMNBLooseEventTimeVeto); +// m_BarrelC.h_CandidateMNBLooseEventTimeVeto = NULL; + m_BarrelC.h_CandidateMNBLooseEventTimeVeto->Reset(); + } + if ( m_EMECA.h_CandidateMNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_EMECA.h_CandidateMNBLooseEventTimeVeto); +// m_EMECA.h_CandidateMNBLooseEventTimeVeto = NULL; + m_EMECA.h_CandidateMNBLooseEventTimeVeto->Reset(); + } + if ( m_EMECC.h_CandidateMNBLooseEventTimeVeto ) { +// LWHist::safeDelete(m_EMECC.h_CandidateMNBLooseEventTimeVeto); +// m_EMECC.h_CandidateMNBLooseEventTimeVeto = NULL; + m_EMECC.h_CandidateMNBLooseEventTimeVeto->Reset(); + } if ( h_SaturatedTight ) { // LWHist::safeDelete(h_SaturatedTight); // h_SaturatedTight = NULL; @@ -588,7 +1367,7 @@ void LArNoisyROMon::bookPartitionHistos(partitionHistos& partition, const std::s FEB_low=-0.5, FEB_up=31.5, slot_low=0.5, slot_up=14.5; } - // 2D FEB maps (x : slot / y : FT) with z: fraction of events for which the FEB is noisy. + // 2D FEB maps (x : slot / y : FT) with z: fraction of events for which the FEB is noisy or mini-noisy. hName = "NoisyFEBFracPerEvt_"+name; hTitle = "Yield of events with FEB noisy "+m_NoisyFEBDefStr+" - "+name; partition.h_NoisyFEBFracPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); @@ -602,46 +1381,172 @@ void LArNoisyROMon::bookPartitionHistos(partitionHistos& partition, const std::s partition.h_NoisyFEBPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); group.regHist(partition.h_NoisyFEBPerEvt).ignore(); } + + hName = "MNBTightFEBFracPerEvt_"+name; + hTitle = "Yield of events with FEB MNB Tight "+m_NoisyFEBDefStr+" - "+name; + partition.h_MNBTightFEBFracPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + partition.h_MNBTightFEBFracPerEvt->GetXaxis()->SetTitle("Slot"); + partition.h_MNBTightFEBFracPerEvt->GetYaxis()->SetTitle("Feedthrough"); + groupfrac.regHist(partition.h_MNBTightFEBFracPerEvt).ignore(); + + if ( m_IsOnline ) + { + hName="temp_"+hName; + partition.h_MNBTightFEBPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + group.regHist(partition.h_MNBTightFEBPerEvt).ignore(); + } + hName = "MNBLooseFEBFracPerEvt_"+name; + hTitle = "Yield of events with FEB MNB Loose "+m_NoisyFEBDefStr+" - "+name; + partition.h_MNBLooseFEBFracPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + partition.h_MNBLooseFEBFracPerEvt->GetXaxis()->SetTitle("Slot"); + partition.h_MNBLooseFEBFracPerEvt->GetYaxis()->SetTitle("Feedthrough"); + groupfrac.regHist(partition.h_MNBLooseFEBFracPerEvt).ignore(); + + if ( m_IsOnline ) + { + hName="temp_"+hName; + partition.h_MNBLooseFEBPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + group.regHist(partition.h_MNBLooseFEBPerEvt).ignore(); + } + + hName = "CandidateMNBTightFEBFracPerEvt_"+name; + hTitle = "Yield of events with FEB MNB Tight Candidate "+m_NoisyFEBDefStr+" - "+name; + partition.h_CandidateMNBTightFEBFracPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + partition.h_CandidateMNBTightFEBFracPerEvt->GetXaxis()->SetTitle("Slot"); + partition.h_CandidateMNBTightFEBFracPerEvt->GetYaxis()->SetTitle("Feedthrough"); + groupfrac.regHist(partition.h_CandidateMNBTightFEBFracPerEvt).ignore(); + + if ( m_IsOnline ) + { + hName="temp_"+hName; + partition.h_CandidateMNBTightFEBPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + group.regHist(partition.h_CandidateMNBTightFEBPerEvt).ignore(); + } + + hName = "CandidateMNBLooseFEBFracPerEvt_"+name; + hTitle = "Yield of events with FEB MNB Loose Candidate "+m_NoisyFEBDefStr+" - "+name; + partition.h_CandidateMNBLooseFEBFracPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + partition.h_CandidateMNBLooseFEBFracPerEvt->GetXaxis()->SetTitle("Slot"); + partition.h_CandidateMNBLooseFEBFracPerEvt->GetYaxis()->SetTitle("Feedthrough"); + groupfrac.regHist(partition.h_CandidateMNBLooseFEBFracPerEvt).ignore(); + + if ( m_IsOnline ) + { + hName="temp_"+hName; + partition.h_CandidateMNBLooseFEBPerEvt = TH2F_LW::create(hName.c_str(), hTitle.c_str(), slot,slot_low,slot_up,FEB,FEB_low,FEB_up); + group.regHist(partition.h_CandidateMNBLooseFEBPerEvt).ignore(); + } + // Fraction of events found noisy per LB - Std flag hName = "NoisyEvent_"+name; - partition.h_NoisyEventFrac = TH1F_LW::create(hName.c_str(),"Yield of events flagged as LArNoisyRO_Std", 2000, 0.5, 2000.5); + partition.h_NoisyEventFrac = TH1F_LW::create(hName.c_str(),"Yield of events flagged as LArNoisyRO_Std", 2500, 0.5, 2500.5); partition.h_NoisyEventFrac->GetXaxis()->SetTitle("Luminosity Block"); groupfracbin.regHist(partition.h_NoisyEventFrac).ignore(); // Histogram below is temporary. Normalized at the end of run to produce the above histograms hName = "temp_NoisyEvent_"+name; - partition.h_NoisyEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2000, 0.5, 2000.5); + partition.h_NoisyEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); partition.h_NoisyEvent->GetXaxis()->SetTitle("Luminosity Block"); + hName = "MNBTightEvent_"+name; + partition.h_MNBTightEventFrac = TH1F_LW::create(hName.c_str(),"Yield of events flagged as LArMNBTightRO_Std", 2500, 0.5, 2500.5); + partition.h_MNBTightEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_MNBTightEventFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + hName = "temp_MNBTightEvent_"+name; + partition.h_MNBTightEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_MNBTightEvent->GetXaxis()->SetTitle("Luminosity Block"); + + hName = "MNBLooseEvent_"+name; + partition.h_MNBLooseEventFrac = TH1F_LW::create(hName.c_str(),"Yield of events flagged as LArMNBLooseRO_Std", 2500, 0.5, 2500.5); + partition.h_MNBLooseEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_MNBLooseEventFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + hName = "temp_MNBLooseEvent_"+name; + partition.h_MNBLooseEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_MNBLooseEvent->GetXaxis()->SetTitle("Luminosity Block"); + + hName = "CandidateMNBTightEvent_"+name; + partition.h_CandidateMNBTightEventFrac = TH1F_LW::create(hName.c_str(),"Yield of events flagged as LArCandidateMNBTightRO_Std", 2500, 0.5, 2500.5); + partition.h_CandidateMNBTightEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_CandidateMNBTightEventFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + hName = "temp_CandidateMNBTightEvent_"+name; + partition.h_CandidateMNBTightEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_CandidateMNBTightEvent->GetXaxis()->SetTitle("Luminosity Block"); + + hName = "CandidateMNBLooseEvent_"+name; + partition.h_CandidateMNBLooseEventFrac = TH1F_LW::create(hName.c_str(),"Yield of events flagged as LArCandidateMNBLooseRO_Std", 2500, 0.5, 2500.5); + partition.h_CandidateMNBLooseEventFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_CandidateMNBLooseEventFrac).ignore(); + // Histogram below is temporary. Normalized at the end of run to produce the above histograms + hName = "temp_CandidateMNBLooseEvent_"+name; + partition.h_CandidateMNBLooseEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_CandidateMNBLooseEvent->GetXaxis()->SetTitle("Luminosity Block"); + // Fraction of events found noisy per LB - Weighted flag hName = "NoisyWEvent_"+name; - partition.h_NoisyWEventFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArNoisyRO_StdOpt", 2000, 0.5, 2000.5); + partition.h_NoisyWEventFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArNoisyRO_StdOpt", 2500, 0.5, 2500.5); partition.h_NoisyWEventFrac->GetXaxis()->SetTitle("Luminosity Block"); groupfracbin.regHist(partition.h_NoisyWEventFrac).ignore(); hName = "temp_NoisyWEvent_"+name; - partition.h_NoisyWEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2000, 0.5, 2000.5); + partition.h_NoisyWEvent = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); partition.h_NoisyWEvent->GetXaxis()->SetTitle("Luminosity Block"); - - // Fraction of events found noisy per LB after time veto - Std flag hName = "NoisyEvent_TimeVeto_"+name; - partition.h_NoisyEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArNoisyRO_Std not vetoed by time window", 2000, 0.5, 2000.5); + partition.h_NoisyEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArNoisyRO_Std not vetoed by time window", 2500, 0.5, 2500.5); partition.h_NoisyEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); groupfracbin.regHist(partition.h_NoisyEventTimeVetoFrac).ignore(); - + hName = "temp_NoisyEvent_TimeVeto_"+name; - partition.h_NoisyEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2000, 0.5, 2000.5); + partition.h_NoisyEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); partition.h_NoisyEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + hName = "MNBTightEvent_TimeVeto_"+name; + partition.h_MNBTightEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArMNBTightRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + partition.h_MNBTightEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_MNBTightEventTimeVetoFrac).ignore(); + + hName = "temp_MNBTightEvent_TimeVeto_"+name; + partition.h_MNBTightEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_MNBTightEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + + hName = "MNBLooseEvent_TimeVeto_"+name; + partition.h_MNBLooseEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArMNBLooseRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + partition.h_MNBLooseEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_MNBLooseEventTimeVetoFrac).ignore(); + + hName = "temp_MNBLooseEvent_TimeVeto_"+name; + partition.h_MNBLooseEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_MNBLooseEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + + hName = "CandidateMNBTightEvent_TimeVeto_"+name; + partition.h_CandidateMNBTightEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArCandidateMNBTightRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + partition.h_CandidateMNBTightEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_CandidateMNBTightEventTimeVetoFrac).ignore(); + + hName = "temp_CandidateMNBTightEvent_TimeVeto_"+name; + partition.h_CandidateMNBTightEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_CandidateMNBTightEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + + hName = "CandidateMNBLooseEvent_TimeVeto_"+name; + partition.h_CandidateMNBLooseEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArCandidateMNBLooseRO_Std not vetoed by time window", 2500, 0.5, 2500.5); + partition.h_CandidateMNBLooseEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); + groupfracbin.regHist(partition.h_CandidateMNBLooseEventTimeVetoFrac).ignore(); + + hName = "temp_CandidateMNBLooseEvent_TimeVeto_"+name; + partition.h_CandidateMNBLooseEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); + partition.h_CandidateMNBLooseEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); + // Fraction of events found noisy per LB after time veto - Weighted flag hName = "NoisyWEvent_TimeVeto_"+name; - partition.h_NoisyWEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArNoisyRO_StdOpt not vetoed by time window", 2000, 0.5, 2000.5); + partition.h_NoisyWEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArNoisyRO_StdOpt not vetoed by time window", 2500, 0.5, 2500.5); partition.h_NoisyWEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block"); groupfracbin.regHist(partition.h_NoisyWEventTimeVetoFrac).ignore(); hName = "temp_NoisyWEvent_TimeVeto_"+name; - partition.h_NoisyWEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2000, 0.5, 2000.5); + partition.h_NoisyWEventTimeVeto = TH1I_LW::create(hName.c_str(), hTitle.c_str(), 2500, 0.5, 2500.5); partition.h_NoisyWEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block"); if ( m_doTrigger ) @@ -753,6 +1658,169 @@ StatusCode LArNoisyROMon::finalize() LWHist::safeDelete(m_EMECC.h_NoisyEventTimeVeto); m_EMECC.h_NoisyEventTimeVeto = NULL; } +if ( h_MNBTightEvent ) { + LWHist::safeDelete(h_MNBTightEvent); + h_MNBTightEvent = NULL; + } + if ( m_BarrelA.h_MNBTightEvent ) { + LWHist::safeDelete(m_BarrelA.h_MNBTightEvent); + m_BarrelA.h_MNBTightEvent = NULL; + } + if ( m_BarrelC.h_MNBTightEvent ) { + LWHist::safeDelete(m_BarrelC.h_MNBTightEvent); + m_BarrelC.h_MNBTightEvent = NULL; + } + if ( m_EMECA.h_MNBTightEvent ) { + LWHist::safeDelete(m_EMECA.h_MNBTightEvent); + m_EMECA.h_MNBTightEvent = NULL; + } + if ( m_EMECC.h_MNBTightEvent ) { + LWHist::safeDelete(m_EMECC.h_MNBTightEvent); + m_EMECC.h_MNBTightEvent = NULL; + } + if ( h_MNBTightEventTimeVeto ) { + LWHist::safeDelete(h_MNBTightEventTimeVeto); + h_MNBTightEventTimeVeto = NULL; + } + if ( m_BarrelA.h_MNBTightEventTimeVeto ) { + LWHist::safeDelete(m_BarrelA.h_MNBTightEventTimeVeto); + m_BarrelA.h_MNBTightEventTimeVeto = NULL; + } + if ( m_BarrelC.h_MNBTightEventTimeVeto ) { + LWHist::safeDelete(m_BarrelC.h_MNBTightEventTimeVeto); + m_BarrelC.h_MNBTightEventTimeVeto = NULL; + } + if ( m_EMECA.h_MNBTightEventTimeVeto ) { + LWHist::safeDelete(m_EMECA.h_MNBTightEventTimeVeto); + m_EMECA.h_MNBTightEventTimeVeto = NULL; + } + if ( m_EMECC.h_MNBTightEventTimeVeto ) { + LWHist::safeDelete(m_EMECC.h_MNBTightEventTimeVeto); + m_EMECC.h_MNBTightEventTimeVeto = NULL; + } + + if ( h_MNBLooseEvent ) { + LWHist::safeDelete(h_MNBLooseEvent); + h_MNBLooseEvent = NULL; + } + if ( m_BarrelA.h_MNBLooseEvent ) { + LWHist::safeDelete(m_BarrelA.h_MNBLooseEvent); + m_BarrelA.h_MNBLooseEvent = NULL; + } + if ( m_BarrelC.h_MNBLooseEvent ) { + LWHist::safeDelete(m_BarrelC.h_MNBLooseEvent); + m_BarrelC.h_MNBLooseEvent = NULL; + } + if ( m_EMECA.h_MNBLooseEvent ) { + LWHist::safeDelete(m_EMECA.h_MNBLooseEvent); + m_EMECA.h_MNBLooseEvent = NULL; + } + if ( m_EMECC.h_MNBLooseEvent ) { + LWHist::safeDelete(m_EMECC.h_MNBLooseEvent); + m_EMECC.h_MNBLooseEvent = NULL; + } + if ( h_MNBLooseEventTimeVeto ) { + LWHist::safeDelete(h_MNBLooseEventTimeVeto); + h_MNBLooseEventTimeVeto = NULL; + } + if ( m_BarrelA.h_MNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_BarrelA.h_MNBLooseEventTimeVeto); + m_BarrelA.h_MNBLooseEventTimeVeto = NULL; + } + if ( m_BarrelC.h_MNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_BarrelC.h_MNBLooseEventTimeVeto); + m_BarrelC.h_MNBLooseEventTimeVeto = NULL; + } + if ( m_EMECA.h_MNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_EMECA.h_MNBLooseEventTimeVeto); + m_EMECA.h_MNBLooseEventTimeVeto = NULL; + } + if ( m_EMECC.h_MNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_EMECC.h_MNBLooseEventTimeVeto); + m_EMECC.h_MNBLooseEventTimeVeto = NULL; + } + + if ( h_CandidateMNBTightEvent ) { + LWHist::safeDelete(h_CandidateMNBTightEvent); + h_CandidateMNBTightEvent = NULL; + } + if ( m_BarrelA.h_CandidateMNBTightEvent ) { + LWHist::safeDelete(m_BarrelA.h_CandidateMNBTightEvent); + m_BarrelA.h_CandidateMNBTightEvent = NULL; + } + if ( m_BarrelC.h_CandidateMNBTightEvent ) { + LWHist::safeDelete(m_BarrelC.h_CandidateMNBTightEvent); + m_BarrelC.h_CandidateMNBTightEvent = NULL; + } + if ( m_EMECA.h_CandidateMNBTightEvent ) { + LWHist::safeDelete(m_EMECA.h_CandidateMNBTightEvent); + m_EMECA.h_CandidateMNBTightEvent = NULL; + } + if ( m_EMECC.h_CandidateMNBTightEvent ) { + LWHist::safeDelete(m_EMECC.h_CandidateMNBTightEvent); + m_EMECC.h_CandidateMNBTightEvent = NULL; + } + if ( h_CandidateMNBTightEventTimeVeto ) { + LWHist::safeDelete(h_CandidateMNBTightEventTimeVeto); + h_CandidateMNBTightEventTimeVeto = NULL; + } + if ( m_BarrelA.h_CandidateMNBTightEventTimeVeto ) { + LWHist::safeDelete(m_BarrelA.h_CandidateMNBTightEventTimeVeto); + m_BarrelA.h_CandidateMNBTightEventTimeVeto = NULL; + } + if ( m_BarrelC.h_CandidateMNBTightEventTimeVeto ) { + LWHist::safeDelete(m_BarrelC.h_CandidateMNBTightEventTimeVeto); + m_BarrelC.h_CandidateMNBTightEventTimeVeto = NULL; + } + if ( m_EMECA.h_CandidateMNBTightEventTimeVeto ) { + LWHist::safeDelete(m_EMECA.h_CandidateMNBTightEventTimeVeto); + m_EMECA.h_CandidateMNBTightEventTimeVeto = NULL; + } + if ( m_EMECC.h_CandidateMNBTightEventTimeVeto ) { + LWHist::safeDelete(m_EMECC.h_CandidateMNBTightEventTimeVeto); + m_EMECC.h_CandidateMNBTightEventTimeVeto = NULL; + } + + if ( h_CandidateMNBLooseEvent ) { + LWHist::safeDelete(h_CandidateMNBLooseEvent); + h_CandidateMNBLooseEvent = NULL; + } + if ( m_BarrelA.h_CandidateMNBLooseEvent ) { + LWHist::safeDelete(m_BarrelA.h_CandidateMNBLooseEvent); + m_BarrelA.h_CandidateMNBLooseEvent = NULL; + } + if ( m_BarrelC.h_CandidateMNBLooseEvent ) { + LWHist::safeDelete(m_BarrelC.h_CandidateMNBLooseEvent); + m_BarrelC.h_CandidateMNBLooseEvent = NULL; + } + if ( m_EMECA.h_CandidateMNBLooseEvent ) { + LWHist::safeDelete(m_EMECA.h_CandidateMNBLooseEvent); + m_EMECA.h_CandidateMNBLooseEvent = NULL; + } + if ( m_EMECC.h_CandidateMNBLooseEvent ) { + LWHist::safeDelete(m_EMECC.h_CandidateMNBLooseEvent); + m_EMECC.h_CandidateMNBLooseEvent = NULL; + } + if ( h_CandidateMNBLooseEventTimeVeto ) { + LWHist::safeDelete(h_CandidateMNBLooseEventTimeVeto); + h_CandidateMNBLooseEventTimeVeto = NULL; + } + if ( m_BarrelA.h_CandidateMNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_BarrelA.h_CandidateMNBLooseEventTimeVeto); + m_BarrelA.h_CandidateMNBLooseEventTimeVeto = NULL; + } + if ( m_BarrelC.h_CandidateMNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_BarrelC.h_CandidateMNBLooseEventTimeVeto); + m_BarrelC.h_CandidateMNBLooseEventTimeVeto = NULL; + } + if ( m_EMECA.h_CandidateMNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_EMECA.h_CandidateMNBLooseEventTimeVeto); + m_EMECA.h_CandidateMNBLooseEventTimeVeto = NULL; + } + if ( m_EMECC.h_CandidateMNBLooseEventTimeVeto ) { + LWHist::safeDelete(m_EMECC.h_CandidateMNBLooseEventTimeVeto); + m_EMECC.h_CandidateMNBLooseEventTimeVeto = NULL; + } if ( h_SaturatedTight ) { LWHist::safeDelete(h_SaturatedTight); h_SaturatedTight = NULL; -- GitLab