diff --git a/LArCalorimeter/LArMonTools/LArMonTools/LArDigitMon.h b/LArCalorimeter/LArMonTools/LArMonTools/LArDigitMon.h
index 4c3f01221eed7de49df90ad87c2903cd0a4d071e..01454ae1deefeb1885f9985509d9260436545eeb 100755
--- a/LArCalorimeter/LArMonTools/LArMonTools/LArDigitMon.h
+++ b/LArCalorimeter/LArMonTools/LArMonTools/LArDigitMon.h
@@ -54,6 +54,7 @@ public:
   
   
   StatusCode initialize();
+  StatusCode finalize();
   StatusCode bookHistograms();
   StatusCode fillHistograms();
   StatusCode procHistograms();
@@ -86,6 +87,29 @@ private:
   
   /** Define the monitoring histograms used for each partitions of the LArCalorimeter*/
   struct partition {
+  partition():
+    m_NullDigit(0),
+      m_SatDigit(0),
+      m_OutDigit(0),
+      m_NullDigitChan(0),
+      m_SatDigitChan(0),
+      m_OutDigitChan(0),
+      m_Temp_NullDigitChan(0),
+      m_Temp_SatDigitChan(0),
+      m_Temp_OutDigitChan(0),
+      m_PNullDigit(0),
+      m_PSatDigit(0),
+      m_POutDigit(0),
+      m_AverDig(0),
+      m_AverTempPos_PerStream(0),
+      m_EnTime(0),
+      m_SignShape(0),
+      m_MaxVsTime(0),
+      m_TriggerType(0),
+      sumpos(0)
+    {
+    }; 
+
     TH2I_LW* m_NullDigit;
     TH2I_LW* m_SatDigit;
     TH2I_LW* m_OutDigit;
@@ -179,6 +203,7 @@ private:
   void FillSignShape(partition& sub, int& i,float nrj,float sample_max);
   void FillNullHisto(partition& sub);
   void ScalePartition(partition& sub);
+  void EndOfRun(partition& sub);
   void DeleteHist(partition& sub);
   void ScaleHisto(LWHist2D * h,int& events);
   void ComputeError(LWHist2D* hist,int& events);
diff --git a/LArCalorimeter/LArMonTools/LArMonTools/LArFEBMon.h b/LArCalorimeter/LArMonTools/LArMonTools/LArFEBMon.h
index 2199699b59e407ae2a9cda132925f1f255317aa6..8aed9ba8a5e1718bfbede079e5c56db3dd1e3690 100755
--- a/LArCalorimeter/LArMonTools/LArMonTools/LArFEBMon.h
+++ b/LArCalorimeter/LArMonTools/LArMonTools/LArFEBMon.h
@@ -77,6 +77,7 @@ private:
   unsigned int m_l1Trig;
   
   std::vector<int> m_febInErrorTree;
+  std::vector<int> m_febErrorTypeTree;
   
   // a handle on StoreGate 
   //   StoreGateSvc* m_storeGate;
@@ -171,10 +172,8 @@ private:
   TProfile_LW* m_rejectedLBProfile;
   TH1I_LW* m_rejBitsHisto;
   
-  TH1I_LW* m_eventsTime;
   TH1I_LW* m_eventsLB;
   //   TH1I_LW* m_rejectedEventsTime;
-  TProfile_LW* m_rejectedYieldTime;
   TProfile_LW* m_rejectedYieldLB;
   TProfile_LW* m_rejectedYieldLBout;
   TProfile_LW* m_eventSizeLB;
diff --git a/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h b/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h
index 4c92932c8c0ac586e98f8a007d560f2720069627..fb1a86fab7e50adc2fded10109cc7f365cfb4011 100644
--- a/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h
+++ b/LArCalorimeter/LArMonTools/LArMonTools/LArNoisyROMon.h
@@ -36,6 +36,7 @@ public:
   virtual ~LArNoisyROMon();
   
   StatusCode initialize();
+  StatusCode finalize();
   StatusCode bookHistograms();
   StatusCode fillHistograms();
   StatusCode checkHists(bool fromFinalize);
diff --git a/LArCalorimeter/LArMonTools/src/LArCollisionTimeMonTool.cxx b/LArCalorimeter/LArMonTools/src/LArCollisionTimeMonTool.cxx
index 184dac9f270ee685346710ae6fbbca06e9bfd165..97feb2ab3e85cb228191661802ce3613c059fd78 100755
--- a/LArCalorimeter/LArMonTools/src/LArCollisionTimeMonTool.cxx
+++ b/LArCalorimeter/LArMonTools/src/LArCollisionTimeMonTool.cxx
@@ -37,7 +37,7 @@ LArCollisionTimeMonTool::LArCollisionTimeMonTool(const std::string& type,
 						 const std::string& name,
 						 const IInterface* parent)
   : ManagedMonitorToolBase(type, name, parent), 
-    m_lumi_blocks( 1000 ),
+    m_lumi_blocks( 1500 ),
     m_ECTimeDiff(0),
     m_ECTimeAvg(0),
     m_timeCut(5.0),
diff --git a/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx b/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx
index b094f99ec071277468aeacc4c4a9897923d83083..1b0faab61072a7c92f5fbb9ebb4ed2780b79b71f 100755
--- a/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx
+++ b/LArCalorimeter/LArMonTools/src/LArDigitMon.cxx
@@ -123,6 +123,23 @@ LArDigitMon::~LArDigitMon()
 {
 }
 
+StatusCode 
+LArDigitMon::finalize()
+{
+  msg(MSG::INFO)<<"Finalize LArDigitMon" << endreq;
+  DeleteHist(BarrelA);
+  DeleteHist(BarrelC);
+  DeleteHist(EmecA);
+  DeleteHist(EmecC);
+  DeleteHist(HecA);
+  DeleteHist(HecC);
+  DeleteHist(FcalA);
+  DeleteHist(FcalC);
+  
+  return StatusCode::SUCCESS;
+ 
+}
+
 /*---------------------------------------------------------*/
 StatusCode 
 LArDigitMon::initialize()
@@ -494,6 +511,7 @@ LArDigitMon::fillHistograms()
     
   }/** End of loop on LArDigit*/
   
+  // Loop on all partition histograms to renormalise by the number of channels
   ScalePartition(BarrelA);
   ScalePartition(BarrelC);
   ScalePartition(EmecA);
@@ -523,14 +541,14 @@ StatusCode LArDigitMon::procHistograms()
     FillSumary(FcalC);
     /** Properly Delete the LW hists*/
     if(endOfRun){
-      DeleteHist(BarrelA);
-      DeleteHist(BarrelC);
-      DeleteHist(EmecA);
-      DeleteHist(EmecC);
-      DeleteHist(HecA);
-      DeleteHist(HecC);
-      DeleteHist(FcalA);
-      DeleteHist(FcalC);
+      EndOfRun(BarrelA);
+      EndOfRun(BarrelC);
+      EndOfRun(EmecA);
+      EndOfRun(EmecC);
+      EndOfRun(HecA);
+      EndOfRun(HecC);
+      EndOfRun(FcalA);
+      EndOfRun(FcalC);
     }
     
     return StatusCode::SUCCESS;
@@ -592,13 +610,17 @@ void LArDigitMon::BookPartitions(partition& sub, const std::string& PartitionNam
   
   
   /** Book histograms*/
+
+  // For 3 the types of errors (saturation, null, outOfRange), 3 histograms are booked but only 2 saved:
+  // m_[Type]Digit : (FT,slot) histogram. Number of errors per FEB. Histograms not saved as it needs to be normalized
+  // by the number of channels per FEB (128)
+  // m_P[Type]Digit : (FT,slot) histogram. Derived by m_[Type]Digit after normalization by the number of channels
+  // m_[Type]DigitChan : (FT+Slot; chan) histogram. Number of errors per channel.
+
   std::string  hName = "tSaturation_";
   hName =hName+PartitionName;
   std::string hTitle=titlesat+PartitionName; 
   sub.m_SatDigit = TH2I_LW::create(hName.c_str(), hTitle.c_str(),slot,slot_low,slot_up,FEB,FEB_low,FEB_up);
-  //    ExpertGroupEff.regHist(sub.m_SatDigit).ignore();
-  //    m_strHelper->definePartitionSummProp(sub.m_SatDigit).ignore();   
-  
   hName = "Saturation_";
   hName =hName+PartitionName;
   hTitle=titlesat+PartitionName; 
@@ -610,25 +632,17 @@ void LArDigitMon::BookPartitions(partition& sub, const std::string& PartitionNam
   hName =hName+PartitionName;
   hTitle=titlenull+PartitionName; 
   sub.m_NullDigit= TH2I_LW::create(hName.c_str(), hTitle.c_str(),slot,slot_low,slot_up,FEB,FEB_low,FEB_up);
-  //    ExpertGroupEff.regHist(sub.m_NullDigit).ignore();
-  //    m_strHelper->definePartitionSummProp(sub.m_NullDigit).ignore();
-  
   hName = "NullDigit_";
   hName =hName+PartitionName;
   hTitle=titlenull+PartitionName;
   sub.m_PNullDigit = TProfile2D_LW::create(hName.c_str(),hTitle.c_str(),slot,slot_low,slot_up,FEB,FEB_low,FEB_up);
   ExpertGroup.regHist(sub.m_PNullDigit).ignore();
   m_strHelper->definePartitionSummProp(sub.m_PNullDigit).ignore();
-  
-  
+    
   hName = "tOutOfRange_";
   hName =hName+PartitionName;   
   hTitle=titleout;
   sub.m_OutDigit = TH2I_LW::create(hName.c_str(), hTitle.c_str(),slot,slot_low,slot_up,FEB,FEB_low,FEB_up);
-  //    ExpertGroupEff.regHist(sub.m_OutDigit).ignore();
-  //    m_strHelper->definePartitionSummProp(sub.m_OutDigit).ignore();
-  
-  
   hName = "OutOfRange_";
   hName =hName+PartitionName;
   hTitle=titleout;
@@ -657,7 +671,7 @@ void LArDigitMon::BookPartitions(partition& sub, const std::string& PartitionNam
   ExpertGroupEff.regHist(sub.m_OutDigitChan).ignore();
   m_strHelper->definePartitionSummProp2(sub.m_OutDigitChan).ignore();  
   
-  
+  // Booking of histograms monitoring the highest sample position  
   hName = "AvePosMaxDig_";
   hName =hName+PartitionName;
   hTitle=titlemaxdi+PartitionName+cutadc+expectedSamp;
@@ -673,7 +687,6 @@ void LArDigitMon::BookPartitions(partition& sub, const std::string& PartitionNam
   sub.m_EnTime = TH2F_LW::create(hName.c_str(),hTitle.c_str(),32,-0.5,31.5, 300, 0., 3000.);
   sub.m_EnTime->GetXaxis()->SetTitle("Sample Number");
   sub.m_EnTime->GetYaxis()->SetTitle("Energy [ADC]");
-  //Not supported in LWHists: sub.m_EnTime->GetYaxis()->SetTitleOffset(1.2);
   ExpertGroup.regHist(sub.m_EnTime).ignore();
   
   
@@ -716,7 +729,8 @@ void LArDigitMon::BookPartitions(partition& sub, const std::string& PartitionNam
   sub.m_AverTempPos_PerStream->GetYaxis()->SetBinLabel(nStreams+1,"others");
   ShiftGroup.regHist(sub.m_AverTempPos_PerStream).ignore();
   
-  
+  // In online, we need to have a temp histogram to record the number of errors. And periodically, these histograms are dumped
+  // in the regular histograms after normalisation by the current number of events.
   if(m_IsOnline)
   {
     sub.m_Temp_NullDigitChan=TH2I_LW::create(("temp_NullDigit_"+PartitionName).c_str(), "",crates,crates_low,crates_up,chan,chan_low,chan_up);
@@ -886,16 +900,23 @@ void LArDigitMon::FillSumary(partition& sub)
 }
 /*---------------------------------------------------------*/
 void LArDigitMon::ScalePartition(partition& sub)
+// 
 {
-  DumpHisto(sub.m_NullDigit,sub.m_PNullDigit);
-  DumpHisto(sub.m_SatDigit,sub.m_PSatDigit);
-  DumpHisto(sub.m_OutDigit,sub.m_POutDigit);
+  //DumpHisto(sub.m_NullDigit,sub.m_PNullDigit);
+  //DumpHisto(sub.m_SatDigit,sub.m_PSatDigit);
+  //DumpHisto(sub.m_OutDigit,sub.m_POutDigit);
   
   if(m_IsOnline){
     DumpOnlineHisto(sub.m_Temp_NullDigitChan,sub.m_NullDigitChan);
     DumpOnlineHisto(sub.m_Temp_SatDigitChan,sub.m_SatDigitChan);
     DumpOnlineHisto(sub.m_Temp_OutDigitChan,sub.m_OutDigitChan);
   }
+  // BT on 10/4/2015 : originally the DumpHisto was 4 lines before (see comments above).
+  // I have the feeling that the online normalisation was wrong.
+  DumpHisto(sub.m_NullDigit,sub.m_PNullDigit);
+  DumpHisto(sub.m_SatDigit,sub.m_PSatDigit);
+  DumpHisto(sub.m_OutDigit,sub.m_POutDigit);
+
   ATH_MSG_DEBUG("End of Scale Histograms " );
 }
 
@@ -931,6 +952,8 @@ void LArDigitMon::ComputeError(LWHist2D* hist,int& events)
 }
 /*---------------------------------------------------------*/
 void LArDigitMon::DumpHisto(LWHist2D* hist1,TProfile2D_LW* hist2)
+// At the end of run/processing, renormalize the (FT,Slot) histograms
+// by the number of FEB channels (128)
 {
   unsigned xbin, ybin;
   
@@ -986,7 +1009,47 @@ int LArDigitMon::GetNumberCells(TProfile2D_LW* hist1,double treshold)
   return sum;
 }
 /*---------------------------------------------------------*/
+void LArDigitMon::EndOfRun(partition& sub)
+// This method was formerly named DeleteHists.
+// Renamed by BT on 10/4/2015 as it does more than this, e.g:
+// Normalisation by the number of events.
+{
+  if(sub.m_OutDigit){
+    sub.m_OutDigit->Reset();
+  }
+  
+  if(sub.m_NullDigit){
+    sub.m_NullDigit->Reset();
+  }
+  
+  if(sub.m_SatDigit){
+    sub.m_SatDigit->Reset() ;
+  }  
+  
+  if(m_IsOnline)
+  {
+    if(sub.m_Temp_NullDigitChan){
+      sub.m_Temp_NullDigitChan->Reset(); 
+    } 
+    
+    if(sub.m_Temp_SatDigitChan){
+      sub.m_Temp_SatDigitChan->Reset();
+    } 
+    
+    if(sub.m_Temp_OutDigitChan){
+      sub.m_Temp_OutDigitChan->Reset();
+    } 
+  }
+  else{
+    ScaleHisto(sub.m_NullDigitChan,m_eventsCounter);
+    ScaleHisto(sub.m_SatDigitChan,m_eventsCounter);
+    ScaleHisto(sub.m_OutDigitChan,m_eventsCounter);
+  }
+}
+
+
 void LArDigitMon::DeleteHist(partition& sub)
+// deleting local histograms 
 {
   if(sub.m_OutDigit){
     LWHist::safeDelete(sub.m_OutDigit);
@@ -1020,9 +1083,7 @@ void LArDigitMon::DeleteHist(partition& sub)
       sub.m_Temp_OutDigitChan=0;
     } 
   }
-  else{
-    ScaleHisto(sub.m_NullDigitChan,m_eventsCounter);
-    ScaleHisto(sub.m_SatDigitChan,m_eventsCounter);
-    ScaleHisto(sub.m_OutDigitChan,m_eventsCounter);
-  }
+
 }
+
+
diff --git a/LArCalorimeter/LArMonTools/src/LArFEBMon.cxx b/LArCalorimeter/LArMonTools/src/LArFEBMon.cxx
index ef4a19c6f4ef190565154bc78ac132d69adec0b2..b3971739419db5bb991094552fb2ba6c36fec761 100755
--- a/LArCalorimeter/LArMonTools/src/LArFEBMon.cxx
+++ b/LArCalorimeter/LArMonTools/src/LArFEBMon.cxx
@@ -50,8 +50,10 @@ LArFEBMon::LArFEBMon(const std::string& type,
     m_currentFebStatus(false),
     m_eventTime(0),
     m_eventTime_ns(0),
+    m_l1Trig(0),
     m_strHelper(0),
     m_trigDec("Trig::TrigDecisionTool/TrigDecisionTool"),
+    m_trigok(false),
     m_barrelCSummary(),
     m_barrelASummary(),
     m_emecCSummary(),
@@ -92,9 +94,7 @@ LArFEBMon::LArFEBMon(const std::string& type,
   m_rejectedLBProfile	= NULL;
   m_rejBitsHisto	= NULL;
   
-  m_eventsTime		= NULL;
   m_eventsLB		= NULL;
-  m_rejectedYieldTime	= NULL;
   m_rejectedYieldLB	= NULL;
   m_rejectedYieldLBout	= NULL;
   m_eventSizeLB		= NULL;
@@ -168,10 +168,11 @@ StatusCode LArFEBMon::bookHistograms() {
     (m_rejectedHisto->GetXaxis())->SetBinLabel(3,"Accepted");
     sc = sc && summaryGroup.regHist(m_rejectedHisto);
     
-    m_rejectedYield = TH1F_LW::create("EventsRejectedYield","Offline rejection yield (at least one error)",3,0.5,3.5);
+    m_rejectedYield = TH1F_LW::create("EventsRejectedYield","Data corruption yield",3,0.5,3.5);
     (m_rejectedYield->GetXaxis())->SetBinLabel(1,"Whole event corrupted");
     (m_rejectedYield->GetXaxis())->SetBinLabel(2,"Single FEB corrupted");
     (m_rejectedYield->GetXaxis())->SetBinLabel(3,"Accepted");
+    (m_rejectedYield->GetYaxis())->SetTitle("Yield(%)");
     sc = sc && summaryGroupW.regHist(m_rejectedYield);
     
     if (m_isOnline){ // Histo useless offline -> switch off in order to avoid merging warning
@@ -186,7 +187,7 @@ StatusCode LArFEBMon::bookHistograms() {
     (m_rejBitsHisto->GetYaxis())->SetTitle("Number of (rejected) events");
     sc = sc && summaryGroup.regHist(m_rejBitsHisto);
     
-    m_LArAllErrors_dE = TH2I_LW::create("NbOfLArFEBMonErrors_dE","Nb of (LArFEBMon errors)",13,0.5,13.5,8,-0.5,7.5);
+    m_LArAllErrors_dE = TH2I_LW::create("NbOfLArFEBMonErrors_dE","# of data corruption errors",13,0.5,13.5,8,-0.5,7.5);
     (m_LArAllErrors_dE->GetXaxis())->SetBinLabel(1,"Parity");
     (m_LArAllErrors_dE->GetXaxis())->SetBinLabel(2,"BCID");
     (m_LArAllErrors_dE->GetXaxis())->SetBinLabel(3,"Sample Header");
@@ -209,45 +210,28 @@ StatusCode LArFEBMon::bookHistograms() {
     (m_LArAllErrors_dE->GetYaxis())->SetBinLabel(8,"FCALA");
     (m_LArAllErrors_dE->GetYaxis())->SetBinLabel(7,"FCALC");
     sc = sc && summaryGroup.regHist(m_LArAllErrors_dE);    
-    
-    // Number of events per minute vs time
-    m_eventsTime = TH1I_LW::create("NbOfEventsVsTime","Nb of events per minutes",1440,0,1440);
-    for (int iLab = 1; iLab < 24 ; iLab++){
-      int label = iLab * 60;
-      (m_eventsTime->GetXaxis())->SetBinLabel(label,Form("%.0d",iLab));
-      (m_eventsTime->GetXaxis())->SetTitle("UTC");
-    }
-    sc = sc && summaryGroup.regHist(m_eventsTime);
-    
-    // Number of events rejected per minute vs time
-    m_rejectedYieldTime = TProfile_LW::create("YieldOfRejectedEventsVsTime","Yield(%) of rejected events per mn",1440,0,1440);
-    for (int iLab = 1; iLab < 24 ; iLab++){
-      int label = iLab * 60;
-      (m_rejectedYieldTime->GetXaxis())->SetBinLabel(label,Form("%.0d",iLab));
-      (m_rejectedYieldTime->GetXaxis())->SetTitle("UTC");
-    }
-    sc = sc && summaryGroup.regHist(m_rejectedYieldTime);
-    
+        
     // Number of events per minute vs LB
     m_eventsLB = TH1I_LW::create("NbOfEventsVsLB","Nb of events per LB",1500,-0.5,1499.5);
-    (m_eventsLB->GetXaxis())->SetTitle("LB");
+    (m_eventsLB->GetXaxis())->SetTitle("Luminosity Block");
     sc = sc && summaryGroup.regHist(m_eventsLB);
     
     // Number of events rejected per LB
-    m_rejectedYieldLB = TProfile_LW::create("YieldOfRejectedEventsVsLB","Yield(%) of corrupted events per LB",1500,-0.5,1499.5);
-    (m_rejectedYieldLB->GetXaxis())->SetTitle("LB");
+    m_rejectedYieldLB = TProfile_LW::create("YieldOfRejectedEventsVsLB","Yield of corrupted events",1500,-0.5,1499.5);
+    (m_rejectedYieldLB->GetXaxis())->SetTitle("Luminosity Block");
+    (m_rejectedYieldLB->GetYaxis())->SetTitle("Yield(%)");
     m_rejectedYieldLB->SetMinimum(-5.);
     sc = sc && summaryGroup.regHist(m_rejectedYieldLB);
     
     // Number of events rejected per LB outside time veto window
-    m_rejectedYieldLBout = TProfile_LW::create("YieldOfRejectedEventsVsLBout","Yield(%) of corrupted events per LB outside a time veto window",1500,-0.5,1499.5);
-    (m_rejectedYieldLBout->GetXaxis())->SetTitle("LB");
+    m_rejectedYieldLBout = TProfile_LW::create("YieldOfRejectedEventsVsLBout","Yield of corrupted events not vetoed by time window",1500,-0.5,1499.5);
+    (m_rejectedYieldLBout->GetXaxis())->SetTitle("Luminosity Block");
     m_rejectedYieldLBout->SetMinimum(-5.);
     sc = sc && summaryGroup.regHist(m_rejectedYieldLBout);
     
     // Mean event size per LB
-    m_eventSizeLB = TProfile_LW::create("eventSizeVsLB","LAr event size per LB (w/o ROS headers)",1500,-0.5,1499.5);
-    (m_eventSizeLB->GetXaxis())->SetTitle("LB");
+    m_eventSizeLB = TProfile_LW::create("eventSizeVsLB","LAr event size (w/o ROS headers)",1500,-0.5,1499.5);
+    (m_eventSizeLB->GetXaxis())->SetTitle("Luminosity Block");
     (m_eventSizeLB->GetYaxis())->SetTitle("Megabytes");
     sc = sc && summaryGroup.regHist(m_eventSizeLB);
 
@@ -256,7 +240,7 @@ StatusCode LArFEBMon::bookHistograms() {
        int nStreams = m_streams.size();
        if(nStreams > 0) {
           m_stream_eventSizeLB = TProfile2D_LW::create("eventSizeStreamVsLB","LAr event size per stream per LB (w/o ROS headers)",1500,-0.5,1499.5,nStreams+1,-0.5,nStreams+0.5);
-          (m_stream_eventSizeLB->GetXaxis())->SetTitle("LB");
+          (m_stream_eventSizeLB->GetXaxis())->SetTitle("Luminosity Block");
           for (int str = 0; str < nStreams; str++) {
              (m_stream_eventSizeLB->GetYaxis())->SetBinLabel(str+1,m_streams[str].c_str());
           }
@@ -267,7 +251,7 @@ StatusCode LArFEBMon::bookHistograms() {
    
     
     // All nb of readout FEB per partition in one TH2
-    m_nbOfEvts2D = TH2I_LW::create("NbOfEvts2d","# of readout FEB (DSP header check only)",500,-20.5,479.5,4,-0.5,3.5);    
+    m_nbOfEvts2D = TH2I_LW::create("NbOfEvts2d","# of readout FEB/DSP header",500,-20.5,479.5,4,-0.5,3.5);    
     (m_nbOfEvts2D->GetYaxis())->SetBinLabel(2,"Barrel A");
     (m_nbOfEvts2D->GetYaxis())->SetBinLabel(1,"Barrel C");
     (m_nbOfEvts2D->GetYaxis())->SetBinLabel(4,"Endcap A");
@@ -275,15 +259,15 @@ StatusCode LArFEBMon::bookHistograms() {
     sc = sc && perPartitionDataGroup.regHist(m_nbOfEvts2D);
     
     // Global nb of readout FEB
-    m_nbOfFebBlocksTotal = TH1I_LW::create("NbOfReadoutFEBGlobal","# of readout FEB in whole LAr(DSP header check only)",FEBnbins,FEBmin,FEBmax);
+    m_nbOfFebBlocksTotal = TH1I_LW::create("NbOfReadoutFEBGlobal","# of readout FEB/DSP header",FEBnbins,FEBmin,FEBmax);
     sc = sc && perPartitionDataGroup.regHist(m_nbOfFebBlocksTotal);
     
     // DSP threshold
-    m_dspThresholds_ADC = TH1I_LW::create("dspThresholdsADC","DSP ADC thresholds - Only in physics",2000,-100.5,1899.5);
+    m_dspThresholds_ADC = TH1I_LW::create("dspThresholdsADC","DSP thresholds to readout samples",2000,-100.5,1899.5);
     m_dspThresholds_ADC->GetYaxis()->SetTitle("Number of cells");
     m_dspThresholds_ADC->GetXaxis()->SetTitle("Cell threshold in ADC counts");
     sc = sc && perPartitionDataGroupLowerLB.regHist(m_dspThresholds_ADC);
-    m_dspThresholds_qtime = TH1I_LW::create("dspThresholds_qfactortime","DSP qfactor+time thresholds - Only in physic",2000,-100.5,1899.5);
+    m_dspThresholds_qtime = TH1I_LW::create("dspThresholds_qfactortime","DSP thresholds to readout (qfactor+time)",2000,-100.5,1899.5);
     m_dspThresholds_qtime->GetYaxis()->SetTitle("Number of cells");
     m_dspThresholds_qtime->GetXaxis()->SetTitle("Cell threshold in ADC counts");
     sc = sc && perPartitionDataGroupLowerLB.regHist(m_dspThresholds_qtime);
@@ -303,23 +287,27 @@ StatusCode LArFEBMon::bookHistograms() {
     sc = sc && perPartitionDataGroup.regHist(m_hTriggerType);
     m_hTriggerTypeAllDSP = TH1I_LW::create("TriggerWordAllDSP","Number L1 trigger word per DSP (8 bits)", 256, -0.5, 255.5);
     m_hTriggerTypeAllDSP->GetXaxis()->SetTitle("L1 trigger word");
+    (m_hTriggerTypeAllDSP->GetYaxis())->SetTitle("Number of events");
     sc = sc && perPartitionDataGroup.regHist(m_hTriggerTypeAllDSP);
     
     // Nb of samples
-    m_nbOfSamples = TH1I_LW::create("NbOfSamples","Nb of samples (1st readout FEB) - Only in raw data / physic",35,-1.5,33.5);
+    m_nbOfSamples = TH1I_LW::create("NbOfSamples","# of samples (1st readout FEB)",35,-1.5,33.5);
+    (m_nbOfSamples->GetYaxis())->SetTitle("Number of events");
     sc = sc && perPartitionDataGroup.regHist(m_nbOfSamples);
     
     // Nb of cells above DSP samples threshold
-    m_totNbSw2 = TH1I_LW::create("NbOfSw2","Total nb of cells above DSP ADC threshold",2000,-1000,199000);
+    m_totNbSw2 = TH1I_LW::create("NbOfSw2","# of cells with samples readout",2000,-1000,199000);
+    (m_totNbSw2->GetXaxis())->SetTitle("Number of cells");
+    (m_totNbSw2->GetYaxis())->SetTitle("Number of events");
     sc = sc && perPartitionDataGroup.regHist(m_totNbSw2);
     
     // Book per partition set of histograms
-    sc = sc && bookNewPartitionSumm(m_barrelCSummary,"BarrelC");
-    sc = sc && bookNewPartitionSumm(m_barrelASummary,"BarrelA");
-    sc = sc && bookNewPartitionSumm(m_emecCSummary,"EmecC");
-    sc = sc && bookNewPartitionSumm(m_emecASummary,"EmecA");
-    sc = sc && bookNewPartitionSumm(m_hecCSummary,"HecC");
-    sc = sc && bookNewPartitionSumm(m_hecASummary,"HecA");
+    sc = sc && bookNewPartitionSumm(m_barrelCSummary,"EMBC");
+    sc = sc && bookNewPartitionSumm(m_barrelASummary,"EMBA");
+    sc = sc && bookNewPartitionSumm(m_emecCSummary,"EMECC");
+    sc = sc && bookNewPartitionSumm(m_emecASummary,"EMECA");
+    sc = sc && bookNewPartitionSumm(m_hecCSummary,"HECC");
+    sc = sc && bookNewPartitionSumm(m_hecASummary,"HECA");
     sc = sc && bookNewPartitionSumm(m_fcalCSummary,"FcalC");
     sc = sc && bookNewPartitionSumm(m_fcalASummary,"FcalA");
     
@@ -345,6 +333,7 @@ StatusCode LArFEBMon::bookHistograms() {
     m_CorruptTree->Branch("time",&m_eventTime,"time/i");
     m_CorruptTree->Branch("time_ns",&m_eventTime_ns,"time_ns/i");
     m_CorruptTree->Branch("febHwId",&m_febInErrorTree);
+    m_CorruptTree->Branch("febErrorType",&m_febErrorTypeTree);
     summaryGroup.regTree(m_CorruptTree).ignore();
     //  }
   
@@ -365,6 +354,7 @@ StatusCode LArFEBMon::fillHistograms() {
   m_eventRejected = false;
   m_rejectionBits.reset();
   m_febInErrorTree.clear();
+  m_febErrorTypeTree.clear();
   
   m_eventsCounter++;
 
@@ -384,8 +374,6 @@ StatusCode LArFEBMon::fillHistograms() {
   m_eventTime=thisEvent->timeStamp();
   m_eventTime_ns=thisEvent->timeStampNSOffset();
     
-  int offset = m_eventTime/(24*3600); 
-  float running_time = float(m_eventTime - (offset*24*3600))/60;
   unsigned lumi_block = thisEvent->lumiBlock();
   
   //msg(MSG::INFO) << "LArFEBMon Lumi block: "<<lumi_block<<endreq;
@@ -414,7 +402,7 @@ StatusCode LArFEBMon::fillHistograms() {
 
   // At 1st event, retrieve DSP thresholds and fill histogram with values for all channels
   if (m_eventsCounter == 1 && firstEventType == 4) {
-    m_dspThresholds_ADC->SetTitle(Form("DSP thresholds for E calculation (only in physics) - LB %4d",lumi_block));
+    m_dspThresholds_ADC->SetTitle(Form("DSP thresholds for ADC-sample transmission (only in physics) - LB %4d",lumi_block));
     m_dspThresholds_qtime->SetTitle(Form("DSP thresholds for qfactor+time calculation (only in physics) - LB %4d",lumi_block));
     if (m_keyDSPThresholds.size()>0) { 
       if (detStore()->contains<LArDSPThresholdsComplete>(m_keyDSPThresholds)) {
@@ -608,7 +596,10 @@ StatusCode LArFEBMon::fillHistograms() {
 	  fillErrorsSummary(m_fcalASummary,partitionNb_dE,ft,slot,feberrorSummary,lumi_block);
 	  break;
       }
-      if (m_currentFebStatus && m_febInErrorTree.size()<29) m_febInErrorTree.push_back(febid.get_identifier32().get_compact());
+      if (m_currentFebStatus && m_febInErrorTree.size()<29){
+	m_febInErrorTree.push_back(febid.get_identifier32().get_compact());
+	m_febErrorTypeTree.push_back(m_rejectionBits.to_ulong());
+      }
     }  
   }
   // Check and reset the rejected histo per partition
@@ -697,7 +688,6 @@ StatusCode LArFEBMon::fillHistograms() {
   }
   
     
-  m_eventsTime->Fill(running_time);    
   m_eventsLB->Fill(lumi_block);    
   m_totNbSw2->Fill(totNbOfSweet2);
   larEventSize = larEventSize/262144;
@@ -710,7 +700,6 @@ StatusCode LArFEBMon::fillHistograms() {
   }
     
   if ((m_eventRejected) || nbOfFebOK(nbOfFeb,m_nbOfFebBlocksTotal)){
-    m_rejectedYieldTime->Fill(running_time,100);
     m_rejectedYieldLB->Fill(lumi_block,100);
     if (!(thisEvent->isEventFlagBitSet(xAOD::EventInfo::LAr,LArEventBitInfo::DATACORRUPTEDVETO)))
       m_rejectedYieldLBout->Fill(lumi_block,100);
@@ -720,7 +709,6 @@ StatusCode LArFEBMon::fillHistograms() {
     m_CorruptTree->Fill();
   }
   else{
-    m_rejectedYieldTime->Fill(running_time,0); 
     m_rejectedYieldLB->Fill(lumi_block,0);
     m_rejectedYieldLBout->Fill(lumi_block,0);
     if (m_isOnline) m_rejectedLBProfile->Fill(0.5,0);
@@ -1035,13 +1023,13 @@ StatusCode LArFEBMon::bookNewPartitionSumm(summaryPartition& summ,std::string su
   sc = sc && perPartitionDataGroup.regHist(summ.nbOfEvts);
   
   hName = "NbOfSweet1PerFEB"+summName;
-  hTitle = "Average nb of cells above DSP qfactor+time threshold  - Physic only - " + summName;    
+  hTitle = "Average # of cells with (qfactor+time) readout - " + summName;    
   summ.nbOfSweet1 = TProfile2D_LW::create(hName.c_str(),hTitle.c_str(),nbOfSlot,0.5,slotMax,nbOfFT,-0.5,ftMax);
   sc = sc && m_strHelper->definePartitionSummProp(summ.nbOfSweet1);
   sc = sc && perPartitionDataGroup.regHist(summ.nbOfSweet1);
   
   hName = "NbOfSweet2PerFEB"+summName;
-  hTitle = "Average nb of cells above DSP ADC threshold - Physic only - " + summName;    
+  hTitle = "Average # of cells with samples readout - " + summName;    
   summ.nbOfSweet2 = TProfile2D_LW::create(hName.c_str(),hTitle.c_str(),nbOfSlot,0.5,slotMax,nbOfFT,-0.5,ftMax);
   sc = sc && m_strHelper->definePartitionSummProp(summ.nbOfSweet2);
   sc = sc && perPartitionDataGroup.regHist(summ.nbOfSweet2);
@@ -1057,7 +1045,7 @@ StatusCode LArFEBMon::bookNewPartitionSumm(summaryPartition& summ,std::string su
     hName = "eventSizeStreamVsLB"+summName;
     hTitle = "LAr event size per stream per LB (w/o ROS headers)" + summName;  
     summ.stream_eventSizeLB = TProfile2D_LW::create(hName.c_str(),hTitle.c_str(),1500,-0.5,1499.5,nStreams+1,-0.5,nStreams+0.5);
-    (summ.stream_eventSizeLB)->GetXaxis()->SetTitle("LB");
+    (summ.stream_eventSizeLB)->GetXaxis()->SetTitle("Luminosity Block");
     for (int str = 0; str < nStreams; str++) {
          (summ.stream_eventSizeLB->GetYaxis())->SetBinLabel(str+1,m_streams[str].c_str());
     }
@@ -1067,7 +1055,7 @@ StatusCode LArFEBMon::bookNewPartitionSumm(summaryPartition& summ,std::string su
     hName = "eventSizeVsLB"+summName;
     hTitle = "LAr event size per LB (w/o ROS headers)" + summName;  
     summ.eventSizeLB = TProfile_LW::create(hName.c_str(),hTitle.c_str(),1500,-0.5,1499.5);
-    (summ.eventSizeLB)->GetXaxis()->SetTitle("LB");
+    (summ.eventSizeLB)->GetXaxis()->SetTitle("Luminosity Block");
     sc = sc && perPartitionDataGroup.regHist(summ.eventSizeLB);
   }
 
diff --git a/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx b/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx
index 627a55162af1c4de8fcbdf97c9cb7a34dc15c672..fb952357dde136a52350be1efcbc0bdc80937c87 100644
--- a/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx
+++ b/LArCalorimeter/LArMonTools/src/LArNoisyROMon.cxx
@@ -95,8 +95,8 @@ StatusCode LArNoisyROMon::bookHistograms()
     MonGroup GroupBarrel(this, "/LAr/NoisyRO/Barrel", run, ATTRIB_MANAGED );
     MonGroup GroupBarrelFrac(this, "/LAr/NoisyRO/Barrel", run, ATTRIB_MANAGED ,"", "weightedEff");
     MonGroup GroupBarrelFracBin(this, "/LAr/NoisyRO/Barrel", run, ATTRIB_MANAGED ,"", "perBinEffPerCent");
-    bookPartitionHistos(m_BarrelA,"BarrelA",GroupBarrel,GroupBarrelFrac,GroupBarrelFracBin);
-    bookPartitionHistos(m_BarrelC,"BarrelC",GroupBarrel,GroupBarrelFrac,GroupBarrelFracBin);
+    bookPartitionHistos(m_BarrelA,"EMBA",GroupBarrel,GroupBarrelFrac,GroupBarrelFracBin);
+    bookPartitionHistos(m_BarrelC,"EMBC",GroupBarrel,GroupBarrelFrac,GroupBarrelFracBin);
     
     MonGroup GroupEMEC(this, "/LAr/NoisyRO/EMEC", run, ATTRIB_MANAGED );
     MonGroup GroupEMECFrac(this, "/LAr/NoisyRO/EMEC", run, ATTRIB_MANAGED,"", "weightedEff" );
@@ -118,10 +118,7 @@ StatusCode LArNoisyROMon::bookHistograms()
     overall.regTree(m_NoiseTimeTree).ignore();
     
     MonGroup overallPerCent(this, "/LAr/NoisyRO", run, ATTRIB_MANAGED, "", "perBinEffPerCent" );
-    tit << "Percentage of events flagged as noisy (> " << m_BadFEBCut << " noisy FEBs)";
-    hTitle = tit.str();
-    tit.str("");
-    h_NoisyEventFrac = TH1F_LW::create("NoisyEvent", hTitle.c_str(), 2000, 0.5, 2000.5);
+    h_NoisyEventFrac = TH1F_LW::create("NoisyEvent", "Yield of events flagged as LArNoisyRO_Std", 2000, 0.5, 2000.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);
@@ -129,26 +126,28 @@ StatusCode LArNoisyROMon::bookHistograms()
     
     h_LBN = TH1I_LW::create("LBN", "LBN ", 2000, 0.5, 2000.5);    
     
-    tit << "Percentage of events flagged as noisy outside time veto window (> " << m_BadFEBCut << " noisy FEBs)";
-    hTitle = tit.str();
-    tit.str("");
-    h_NoisyEventTimeVetoFrac = TH1F_LW::create("NoisyEvent_TimeVeto", hTitle.c_str(), 2000, 0.5, 2000.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->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->GetXaxis()->SetTitle("Luminosity Block");
     
-    hTitle = "Percentage of events flagged as noisy with saturated quality cells (tight cuts)";
+    hTitle = "Yield of events flagged as LArNoisyROSaturated";
     h_SaturatedTightFrac = TH1F_LW::create("SaturatedTightEvent", hTitle.c_str(), 2000, 0.5, 2000.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->GetXaxis()->SetTitle("Luminosity Block");
     
-    hTitle = "Percentage of events flagged as noisy with saturated quality cells (tight cuts) outside time veto window";
+    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->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->GetXaxis()->SetTitle("Luminosity Block");
       
@@ -441,56 +440,69 @@ StatusCode LArNoisyROMon::procHistograms()
   if ( endOfRun ) {
     // delete temposary histograms
     if ( h_LBN ) {
-      LWHist::safeDelete(h_LBN); 
-      h_LBN = NULL;
+//      LWHist::safeDelete(h_LBN); 
+//      h_LBN = NULL;
+      h_LBN->Reset(); 
     }
     if ( h_NoisyEvent ) {
-      LWHist::safeDelete(h_NoisyEvent); 
-      h_NoisyEvent = NULL;
+//      LWHist::safeDelete(h_NoisyEvent); 
+//      h_NoisyEvent = NULL;
+      h_NoisyEvent->Reset();
     }
     if ( m_BarrelA.h_NoisyEvent ) {
-      LWHist::safeDelete(m_BarrelA.h_NoisyEvent); 
-      m_BarrelA.h_NoisyEvent = NULL;
+//      LWHist::safeDelete(m_BarrelA.h_NoisyEvent); 
+//      m_BarrelA.h_NoisyEvent = NULL;
+      m_BarrelA.h_NoisyEvent->Reset();
     }
     if ( m_BarrelC.h_NoisyEvent ) {
-      LWHist::safeDelete(m_BarrelC.h_NoisyEvent); 
-      m_BarrelC.h_NoisyEvent = NULL;
+//      LWHist::safeDelete(m_BarrelC.h_NoisyEvent); 
+//      m_BarrelC.h_NoisyEvent = NULL;
+      m_BarrelC.h_NoisyEvent->Reset();
     }
     if ( m_EMECA.h_NoisyEvent ) {
-      LWHist::safeDelete(m_EMECA.h_NoisyEvent); 
-      m_EMECA.h_NoisyEvent = NULL;
+//      LWHist::safeDelete(m_EMECA.h_NoisyEvent); 
+//      m_EMECA.h_NoisyEvent = NULL;
+      m_EMECA.h_NoisyEvent->Reset();
     }
     if ( m_EMECC.h_NoisyEvent ) {
-      LWHist::safeDelete(m_EMECC.h_NoisyEvent); 
-      m_EMECC.h_NoisyEvent = NULL;
+//      LWHist::safeDelete(m_EMECC.h_NoisyEvent); 
+//      m_EMECC.h_NoisyEvent = NULL;
+      m_EMECC.h_NoisyEvent->Reset();
     }
     if ( h_NoisyEventTimeVeto ) {
-      LWHist::safeDelete(h_NoisyEventTimeVeto); 
-      h_NoisyEventTimeVeto = NULL;
+//      LWHist::safeDelete(h_NoisyEventTimeVeto); 
+//      h_NoisyEventTimeVeto = NULL;
+      h_NoisyEventTimeVeto->Reset();
     }
     if ( m_BarrelA.h_NoisyEventTimeVeto ) {
-      LWHist::safeDelete(m_BarrelA.h_NoisyEventTimeVeto); 
-      m_BarrelA.h_NoisyEventTimeVeto = NULL;
+//      LWHist::safeDelete(m_BarrelA.h_NoisyEventTimeVeto); 
+//      m_BarrelA.h_NoisyEventTimeVeto = NULL;
+      m_BarrelA.h_NoisyEventTimeVeto->Reset();
     }
     if ( m_BarrelC.h_NoisyEventTimeVeto ) {
-      LWHist::safeDelete(m_BarrelC.h_NoisyEventTimeVeto); 
-      m_BarrelC.h_NoisyEventTimeVeto = NULL;
+//      LWHist::safeDelete(m_BarrelC.h_NoisyEventTimeVeto); 
+//      m_BarrelC.h_NoisyEventTimeVeto = NULL;
+      m_BarrelC.h_NoisyEventTimeVeto->Reset();
     }
     if ( m_EMECA.h_NoisyEventTimeVeto ) {
-      LWHist::safeDelete(m_EMECA.h_NoisyEventTimeVeto); 
-      m_EMECA.h_NoisyEventTimeVeto = NULL;
+//      LWHist::safeDelete(m_EMECA.h_NoisyEventTimeVeto); 
+//      m_EMECA.h_NoisyEventTimeVeto = NULL;
+      m_EMECA.h_NoisyEventTimeVeto->Reset();
     }
     if ( m_EMECC.h_NoisyEventTimeVeto ) {
-      LWHist::safeDelete(m_EMECC.h_NoisyEventTimeVeto); 
-      m_EMECC.h_NoisyEventTimeVeto = NULL;
+//      LWHist::safeDelete(m_EMECC.h_NoisyEventTimeVeto); 
+//      m_EMECC.h_NoisyEventTimeVeto = NULL;
+      m_EMECC.h_NoisyEventTimeVeto->Reset();
     }
     if ( h_SaturatedTight ) {
-      LWHist::safeDelete(h_SaturatedTight); 
-      h_SaturatedTight = NULL;
+//      LWHist::safeDelete(h_SaturatedTight); 
+//      h_SaturatedTight = NULL;
+      h_SaturatedTight->Reset();
     }
     if ( h_SaturatedTightTimeVeto ) {
-      LWHist::safeDelete(h_SaturatedTightTimeVeto); 
-      h_SaturatedTightTimeVeto = NULL;
+//      LWHist::safeDelete(h_SaturatedTightTimeVeto); 
+//      h_SaturatedTightTimeVeto = NULL;
+      h_SaturatedTightTimeVeto->Reset();
     }
   }  
   return StatusCode::SUCCESS;
@@ -561,7 +573,7 @@ void LArNoisyROMon::bookPartitionHistos(partitionHistos& partition, const std::s
   int FEB=25,slot=15;
   double FEB_low=-0.5, FEB_up=24.5, slot_low=0.5, slot_up=15.5;
   // for Barrel
-  if( name == "BarrelA" || name == "BarrelC")
+  if( name == "EMBA" || name == "EMBC")
   {
     FEB=32, slot=14;
     FEB_low=-0.5, FEB_up=31.5, slot_low=0.5, slot_up=14.5;
@@ -569,7 +581,7 @@ void LArNoisyROMon::bookPartitionHistos(partitionHistos& partition, const std::s
 
   // 2D FEB maps (x : slot / y : FT) with z: fraction of events for which the FEB is noisy.
   hName  = "NoisyFEBFracPerEvt_"+name;
-  hTitle = "Percentage of events with FEB noisy "+m_NoisyFEBDefStr+" - "+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);
   partition.h_NoisyFEBFracPerEvt->GetXaxis()->SetTitle("Slot");
   partition.h_NoisyFEBFracPerEvt->GetYaxis()->SetTitle("Feedthrough");
@@ -583,23 +595,18 @@ void LArNoisyROMon::bookPartitionHistos(partitionHistos& partition, const std::s
   }
       
   // Fraction of events found noisy per LB - Std flag
-  tit << "Percentage of events flagged as noisy (> " << m_BadFEBCut << " noisy FEBs) - " << name;
-  hTitle = tit.str();
-  tit.str("");
   hName = "NoisyEvent_"+name;
-  partition.h_NoisyEventFrac = TH1F_LW::create(hName.c_str(), hTitle.c_str(), 2000, 0.5, 2000.5);
+  partition.h_NoisyEventFrac = TH1F_LW::create(hName.c_str(),"Yield of events flagged as LArNoisyRO_Std", 2000, 0.5, 2000.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->GetXaxis()->SetTitle("Luminosity Block");
 
   // Fraction of events found noisy per LB - Weighted flag
-  tit << "Percentage of events flagged as noisy (> " << m_BadFEBCut << " noisy FEBs with weighted sum) - " << name;
-  hTitle = tit.str();
-  tit.str("");
   hName = "NoisyWEvent_"+name;
-  partition.h_NoisyWEventFrac = TH1F_LW::create(hName.c_str(), hTitle.c_str(), 2000, 0.5, 2000.5);
+  partition.h_NoisyWEventFrac = TH1F_LW::create(hName.c_str(), "Yield of events flagged as LArNoisyRO_StdOpt", 2000, 0.5, 2000.5);
   partition.h_NoisyWEventFrac->GetXaxis()->SetTitle("Luminosity Block");
   groupfracbin.regHist(partition.h_NoisyWEventFrac).ignore();  
   hName = "temp_NoisyWEvent_"+name;
@@ -609,11 +616,8 @@ void LArNoisyROMon::bookPartitionHistos(partitionHistos& partition, const std::s
   
   
   // Fraction of events found noisy per LB after time veto - Std flag
-  tit << "Percentage of events flagged as noisy outside time veto window (> " << m_BadFEBCut << " noisy FEBs) - " << name;
-  hTitle = tit.str();
-  tit.str("");
   hName = "NoisyEvent_TimeVeto_"+name;
-  partition.h_NoisyEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), hTitle.c_str(), 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", 2000, 0.5, 2000.5);
   partition.h_NoisyEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block");
   groupfracbin.regHist(partition.h_NoisyEventTimeVetoFrac).ignore();
   
@@ -622,11 +626,8 @@ void LArNoisyROMon::bookPartitionHistos(partitionHistos& partition, const std::s
   partition.h_NoisyEventTimeVeto->GetXaxis()->SetTitle("Luminosity Block");
 
   // Fraction of events found noisy per LB after time veto - Weighted flag
-  tit << "Percentage of events flagged as noisy outside time veto window (> " << m_BadFEBCut << " noisy FEBs with weighted sum) - " << name;
-  hTitle = tit.str();
-  tit.str("");
   hName = "NoisyWEvent_TimeVeto_"+name;
-  partition.h_NoisyWEventTimeVetoFrac = TH1F_LW::create(hName.c_str(), hTitle.c_str(), 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", 2000, 0.5, 2000.5);
   partition.h_NoisyWEventTimeVetoFrac->GetXaxis()->SetTitle("Luminosity Block");
   groupfracbin.regHist(partition.h_NoisyWEventTimeVetoFrac).ignore();
   
@@ -693,3 +694,64 @@ void LArNoisyROMon::fillTriggerHisto(partitionHistos& partition, uint8_t trigger
   }
 
 }
+
+StatusCode LArNoisyROMon::finalize()
+{
+  msg(MSG::INFO) << " in LArNoisyROMon::finalize() " << endreq;
+  // delete temposary histograms
+
+  if ( h_LBN ) {
+    LWHist::safeDelete(h_LBN); 
+    h_LBN = NULL;
+  }
+  if ( h_NoisyEvent ) {
+    LWHist::safeDelete(h_NoisyEvent); 
+    h_NoisyEvent = NULL;
+  }
+  if ( m_BarrelA.h_NoisyEvent ) {
+    LWHist::safeDelete(m_BarrelA.h_NoisyEvent); 
+    m_BarrelA.h_NoisyEvent = NULL;
+  }
+  if ( m_BarrelC.h_NoisyEvent ) {
+    LWHist::safeDelete(m_BarrelC.h_NoisyEvent); 
+    m_BarrelC.h_NoisyEvent = NULL;
+  }
+  if ( m_EMECA.h_NoisyEvent ) {
+    LWHist::safeDelete(m_EMECA.h_NoisyEvent); 
+    m_EMECA.h_NoisyEvent = NULL;
+  }
+  if ( m_EMECC.h_NoisyEvent ) {
+    LWHist::safeDelete(m_EMECC.h_NoisyEvent); 
+    m_EMECC.h_NoisyEvent = NULL;
+  }
+  if ( h_NoisyEventTimeVeto ) {
+    LWHist::safeDelete(h_NoisyEventTimeVeto); 
+    h_NoisyEventTimeVeto = NULL;
+  }
+  if ( m_BarrelA.h_NoisyEventTimeVeto ) {
+    LWHist::safeDelete(m_BarrelA.h_NoisyEventTimeVeto); 
+    m_BarrelA.h_NoisyEventTimeVeto = NULL;
+  }
+  if ( m_BarrelC.h_NoisyEventTimeVeto ) {
+    LWHist::safeDelete(m_BarrelC.h_NoisyEventTimeVeto); 
+    m_BarrelC.h_NoisyEventTimeVeto = NULL;
+  }
+  if ( m_EMECA.h_NoisyEventTimeVeto ) {
+    LWHist::safeDelete(m_EMECA.h_NoisyEventTimeVeto); 
+    m_EMECA.h_NoisyEventTimeVeto = NULL;
+  }
+  if ( m_EMECC.h_NoisyEventTimeVeto ) {
+    LWHist::safeDelete(m_EMECC.h_NoisyEventTimeVeto); 
+    m_EMECC.h_NoisyEventTimeVeto = NULL;
+  }
+  if ( h_SaturatedTight ) {
+    LWHist::safeDelete(h_SaturatedTight); 
+    h_SaturatedTight = NULL;
+  }
+  if ( h_SaturatedTightTimeVeto ) {
+    LWHist::safeDelete(h_SaturatedTightTimeVeto); 
+    h_SaturatedTightTimeVeto = NULL;
+  }
+
+  return StatusCode::SUCCESS;
+}
diff --git a/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx b/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx
index 0b3851a09e0e50292bf1852c24457313fad25671..531fb94070cf6a42587e2f84276b10ee9e611d96 100755
--- a/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx
+++ b/LArCalorimeter/LArMonTools/src/LArRODMonTool.cxx
@@ -254,28 +254,28 @@ LArRODMonTool::bookHistograms()
     LArOnlineIDStrHelper strHelper(m_LArOnlineIDHelper);
     strHelper.setDefaultNameType(LArOnlineIDStrHelper::LARONLINEID);
 
-    // Barrel A and C
-    MonGroup generalGroupBarrel( this, "/LAr/DSPMonitoring/Barrel", run, ATTRIB_MANAGED );
+    // EMB A and C
+    MonGroup generalGroupBarrel( this, "/LAr/DSPMonitoring/EMB", run, ATTRIB_MANAGED );
     MonGroup generalGroupEndcap( this, "/LAr/DSPMonitoring/Emec", run, ATTRIB_MANAGED );
     MonGroup generalGroupHec( this, "/LAr/DSPMonitoring/Hec", run, ATTRIB_MANAGED );
     MonGroup generalGroupFcal( this, "/LAr/DSPMonitoring/Fcal", run, ATTRIB_MANAGED );
 
-    m_histos[EMBA].m_partName="BarrelA";
+    m_histos[EMBA].m_partName="EMBA";
     m_histos[EMBA].m_monGroup=&generalGroupBarrel;
 
-    m_histos[EMBC].m_partName="BarrelC";
+    m_histos[EMBC].m_partName="EMBC";
     m_histos[EMBC].m_monGroup=&generalGroupBarrel;
 
-    m_histos[EMECA].m_partName="EmecA";
+    m_histos[EMECA].m_partName="EMECA";
     m_histos[EMECA].m_monGroup=&generalGroupEndcap;
 
-    m_histos[EMECC].m_partName="EmecC";
+    m_histos[EMECC].m_partName="EMECC";
     m_histos[EMECC].m_monGroup=&generalGroupEndcap;
 
-    m_histos[HECA].m_partName="HecA";
+    m_histos[HECA].m_partName="HECA";
     m_histos[HECA].m_monGroup=&generalGroupHec;
 
-    m_histos[HECC].m_partName="HecC";
+    m_histos[HECC].m_partName="HECC";
     m_histos[HECC].m_monGroup=&generalGroupHec;
 
     m_histos[FCALA].m_partName="FcalA";
@@ -289,34 +289,34 @@ LArRODMonTool::bookHistograms()
       HistGroup& hg=m_histos[p];
       const std::string& Part = hg.m_partName;
       hName = "DE_" + Part;
-      hTitle = "E_{offline} - E_{online} distribution" + Part;
+      hTitle = "E_{offline} - E_{online}-" + Part;
       hg.m_hDE = new TH1F(hName.c_str(), hTitle.c_str(),400,-40.,40.);
-      hg.m_hDE->GetXaxis()->SetTitle("E_{offline} - E_{online} (MeV)");
+      hg.m_hDE->GetXaxis()->SetTitle("E_{offline} - E_{online}");
       CHECK(hg.m_monGroup->regHist(hg.m_hDE));
       
       hName = "DT_" + Part;
-      hTitle = "T_{offline} - T_{online} distribution" + Part;
+      hTitle = "T_{offline} - T_{online}-" + Part;
       hg.m_hDT = new TH1F(hName.c_str(), hTitle.c_str(),400,-800.,800.);
-      hg.m_hDT->GetXaxis()->SetTitle("T_{offline} - T_{online} (ps)");
+      hg.m_hDT->GetXaxis()->SetTitle("T_{offline} - T_{online}");
       CHECK(hg.m_monGroup->regHist(hg.m_hDT));
   
       hName = "DQ_" + Part;
-      hTitle = "Q_{offline} - Q_{online} / #sqrt{Q_{offline}} distribution" + Part;
+      hTitle = "Q_{offline} - Q_{online} / #sqrt{Q_{offline}}-" + Part;
       hg.m_hDQ = new TH1F(hName.c_str(), hTitle.c_str(),400,-3000.,1000.);
       hg.m_hDQ->GetXaxis()->SetTitle("Q_{offline} - Q_{online} / #sqrt{Q_{offline}}");
       CHECK(hg.m_monGroup->regHist(hg.m_hDQ));
 
       hName = "Out_E_FT_vs_SLOT_" + Part;
-      hTitle = "Cells with E_{offline} - E_{online} > numerical precision ";
+      hTitle = "# of cells with E_{offline} - E_{online} > numerical precision ";
       hTitle = hTitle + Part;
       hg.m_hOut_E_FT_vs_SLOT = new TH2F(hName.c_str(), hTitle.c_str(),15,0.5,15.5,32,-0.5,31.5);
       hg.m_hOut_E_FT_vs_SLOT->GetXaxis()->SetTitle("Slot");
-      hg.m_hOut_E_FT_vs_SLOT->GetYaxis()->SetTitle("FT");
+      hg.m_hOut_E_FT_vs_SLOT->GetYaxis()->SetTitle("Feedthrough");
       sc = sc && strHelper.definePartitionSummProp(hg.m_hOut_E_FT_vs_SLOT);   
       CHECK(hg.m_monGroup->regHist(hg.m_hOut_E_FT_vs_SLOT));
 
       hName = "Out_T_FT_vs_SLOT_" + Part;
-      hTitle = "Cells with T_{offline} - T_{online} > numerical precision ";
+      hTitle = "# of cells with T_{offline} - T_{online} > numerical precision ";
       hTitle = hTitle + Part;
       hg.m_hOut_T_FT_vs_SLOT = new TH2F(hName.c_str(), hTitle.c_str(),15,0.5,15.5,32,-0.5,31.5);
       hg.m_hOut_T_FT_vs_SLOT->GetXaxis()->SetTitle("Slot");
@@ -325,7 +325,7 @@ LArRODMonTool::bookHistograms()
       CHECK(hg.m_monGroup->regHist(hg.m_hOut_T_FT_vs_SLOT)); 
 
       hName = "Out_Q_FT_vs_SLOT_" + Part;
-      hTitle = "Cells with Q_{offline} - Q_{online} / #sqrt{Q_{offline}} > numerical precision ";
+      hTitle = "# of cells with Q_{offline} - Q_{online} / #sqrt{Q_{offline}} > numerical precision ";
       hTitle = hTitle + Part;
       hg.m_hOut_Q_FT_vs_SLOT = new TH2F(hName.c_str(), hTitle.c_str(),15,0.5,15.5,32,-0.5,31.5);
       hg.m_hOut_Q_FT_vs_SLOT->GetXaxis()->SetTitle("Slot");
@@ -334,21 +334,21 @@ LArRODMonTool::bookHistograms()
       CHECK(hg.m_monGroup->regHist(hg.m_hOut_Q_FT_vs_SLOT)); 
 
       hName = "Eon_VS_Eoff_" + Part;
-      hTitle = "E_{online} VS E_{offline} (MeV) " + Part;
+      hTitle = "E_{online} VS E_{offline}-" + Part;
       hg.m_hEon_VS_Eoff = new TH2F(hName.c_str(), hTitle.c_str(),300,-20000.,20000.,300,-20000.,20000.);
       hg.m_hEon_VS_Eoff->GetXaxis()->SetTitle("E_{offline} (MeV)");
       hg.m_hEon_VS_Eoff->GetYaxis()->SetTitle("E_{online} (MeV)");
       CHECK(hg.m_monGroup->regHist(hg.m_hEon_VS_Eoff));
       
       hName = "Ton_VS_Toff_" + Part;
-      hTitle = "T_{online} VS T_{offline} (ps) " + Part;
+      hTitle = "T_{online} VS T_{offline}-" + Part;
       hg.m_hTon_VS_Toff = new TH2F(hName.c_str(), hTitle.c_str(),300,-80000.,80000.,300,-80000.,80000.);
       hg.m_hTon_VS_Toff->GetXaxis()->SetTitle("T_{offline} (ps)");
       hg.m_hTon_VS_Toff->GetYaxis()->SetTitle("T_{online} (ps)");
       CHECK(hg.m_monGroup->regHist(hg.m_hTon_VS_Toff));
       
       hName = "Qon_VS_Qoff_" + Part;
-      hTitle = "Q_{online} VS Q_{offline} " + Part;
+      hTitle = "Q_{online} VS Q_{offline}-" + Part;
       hg.m_hQon_VS_Qoff = new TH2F(hName.c_str(), hTitle.c_str(),300,0.,66000.,300,0.,66000.);
       hg.m_hQon_VS_Qoff->GetXaxis()->SetTitle("Q_{offline}");
       hg.m_hQon_VS_Qoff->GetYaxis()->SetTitle("Q_{online}");
@@ -367,15 +367,15 @@ LArRODMonTool::bookHistograms()
     hName = "Summary_E";
     hTitle = "Summary of errors on Energy per partition and per gain";
     m_hSummaryErrors_Energy = new TH2F(hName.c_str(),hTitle.c_str(),8,0.,8.,3,0.,3.);
-    m_hSummaryErrors_Energy->GetXaxis()->SetTitle("Sub Detector");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(1,"Barrel C");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(2,"Barrel A");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(3,"Emec C");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(4,"Emec A");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(5,"Hec C");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(6,"Hec A");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(7,"Fcal C");
-    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(8,"Fcal A");
+    m_hSummaryErrors_Energy->GetXaxis()->SetTitle("Partition");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(1,"EMBC");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(2,"EMBA");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(3,"EMECC");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(4,"EMECA");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(5,"HECC");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(6,"HECA");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(7,"FcalC");
+    m_hSummaryErrors_Energy->GetXaxis()->SetBinLabel(8,"FcalA");
     m_hSummaryErrors_Energy->GetYaxis()->SetTitle("Gain");
     m_hSummaryErrors_Energy->GetYaxis()->SetBinLabel(3,"Low Gain");
     m_hSummaryErrors_Energy->GetYaxis()->SetBinLabel(2,"Medium Gain");
@@ -385,15 +385,15 @@ LArRODMonTool::bookHistograms()
     hName = "Summary_T";
     hTitle = "Summary of errors on Time per partition and per gain";
     m_hSummaryErrors_Time = new TH2F(hName.c_str(),hTitle.c_str(),8,0.,8.,3,0.,3.);
-    m_hSummaryErrors_Time->GetXaxis()->SetTitle("Sub Detector");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(1,"Barrel C");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(2,"Barrel A");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(3,"Emec C");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(4,"Emec A");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(5,"Hec C");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(6,"Hec A");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(7,"Fcal C");
-    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(8,"Fcal A");
+    m_hSummaryErrors_Time->GetXaxis()->SetTitle("Partition");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(1,"EMBC");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(2,"EMBA");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(3,"EMECC");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(4,"EMECA");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(5,"HECC");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(6,"HECA");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(7,"FcalC");
+    m_hSummaryErrors_Time->GetXaxis()->SetBinLabel(8,"FcalA");
     m_hSummaryErrors_Time->GetYaxis()->SetTitle("Gain");
     m_hSummaryErrors_Time->GetYaxis()->SetBinLabel(3,"Low Gain");
     m_hSummaryErrors_Time->GetYaxis()->SetBinLabel(2,"Medium Gain");
@@ -403,15 +403,15 @@ LArRODMonTool::bookHistograms()
     hName = "Summary_Q";
     hTitle = "Summary of errors on Quality per partition and per gain";
     m_hSummaryErrors_Quality = new TH2F(hName.c_str(),hTitle.c_str(),8,0.,8.,3,0.,3.);
-    m_hSummaryErrors_Quality->GetXaxis()->SetTitle("Sub Detector");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(1,"Barrel C");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(2,"Barrel A");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(3,"Emec C");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(4,"Emec A");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(5,"Hec C");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(6,"Hec A");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(7,"Fcal C");
-    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(8,"Fcal A");
+    m_hSummaryErrors_Quality->GetXaxis()->SetTitle("Partition");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(1,"EMBC");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(2,"EMBA");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(3,"EMECC");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(4,"EMECA");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(5,"HECC");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(6,"HECA");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(7,"FcalC");
+    m_hSummaryErrors_Quality->GetXaxis()->SetBinLabel(8,"FcalA");
     m_hSummaryErrors_Quality->GetYaxis()->SetTitle("Gain");
     m_hSummaryErrors_Quality->GetYaxis()->SetBinLabel(3,"Low Gain");
     m_hSummaryErrors_Quality->GetYaxis()->SetBinLabel(2,"Medium Gain");
@@ -471,43 +471,43 @@ LArRODMonTool::bookHistograms()
     hName = "EErrorsPerLB";
     hTitle = "Nb of errors in E per LB and per partition";
     m_hEErrors_LB_part = new TH2I(hName.c_str(), hTitle.c_str(),m_nb_lb,-0.5,m_nb_lb-0.5,8,0,8);
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(1,"Barrel C");
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(2,"Barrel A");
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(3,"Emec C");
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(4,"Emec A");
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(5,"Hec C");
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(6,"Hec A");
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(7,"Fcal C");
-    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(8,"Fcal A");
-    m_hEErrors_LB_part->GetXaxis()->SetTitle("LumiBlock");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(1,"EMBC");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(2,"EMBA");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(3,"EMECC");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(4,"EMECA");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(5,"HECC");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(6,"HECA");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(7,"FcalC");
+    m_hEErrors_LB_part->GetYaxis()->SetBinLabel(8,"FcalA");
+    m_hEErrors_LB_part->GetXaxis()->SetTitle("Luminosity Block");
     CHECK(infosGroup.regHist(m_hEErrors_LB_part));
 
     hName = "TErrorsPerLB";
     hTitle = "Nb of errors in T per LB and per partition";
     m_hTErrors_LB_part = new TH2I(hName.c_str(), hTitle.c_str(),m_nb_lb,-0.5,m_nb_lb-0.5,8,0,8);
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(1,"Barrel C");
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(2,"Barrel A");
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(3,"Emec C");
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(4,"Emec A");
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(5,"Hec C");
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(6,"Hec A");
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(7,"Fcal C");
-    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(8,"Fcal A");
-    m_hTErrors_LB_part->GetXaxis()->SetTitle("LumiBlock");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(1,"EMBC");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(2,"EMBA");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(3,"EMECC");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(4,"EMECA");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(5,"HECC");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(6,"HECA");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(7,"FcalC");
+    m_hTErrors_LB_part->GetYaxis()->SetBinLabel(8,"FcalA");
+    m_hTErrors_LB_part->GetXaxis()->SetTitle("Luminosity Block");
     CHECK(infosGroup.regHist(m_hTErrors_LB_part));
 
     hName = "QErrorsPerLB";
     hTitle = "Nb of errors in Q per LB and per partition";
     m_hQErrors_LB_part = new TH2I(hName.c_str(), hTitle.c_str(),m_nb_lb,-0.5,m_nb_lb-0.5,8,0,8);
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(1,"Barrel C");
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(2,"Barrel A");
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(3,"Emec C");
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(4,"Emec A");
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(5,"Hec C");
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(6,"Hec A");
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(7,"Fcal C");
-    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(8,"Fcal A");
-    m_hQErrors_LB_part->GetXaxis()->SetTitle("LumiBlock");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(1,"EMBC");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(2,"EMBA");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(3,"EMECC");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(4,"EMECA");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(5,"HECC");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(6,"HECA");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(7,"FcalC");
+    m_hQErrors_LB_part->GetYaxis()->SetBinLabel(8,"FcalA");
+    m_hQErrors_LB_part->GetXaxis()->SetTitle("Luminosity Block");
     CHECK(infosGroup.regHist(m_hQErrors_LB_part));
 
     int nStreams = m_streams.size();
diff --git a/LArCalorimeter/LArMonTools/src/LArRawChannelMonTool.cxx b/LArCalorimeter/LArMonTools/src/LArRawChannelMonTool.cxx
index f93b1f674780754411a700fa1e6f4a838612e8c8..d4042389d63679135f1ee33e6fb0859140b2863c 100755
--- a/LArCalorimeter/LArMonTools/src/LArRawChannelMonTool.cxx
+++ b/LArCalorimeter/LArMonTools/src/LArRawChannelMonTool.cxx
@@ -78,7 +78,7 @@ typedef map_det_th2ptr::const_iterator citer_det_th2ptr;
 //typedef std::map<Sampling, std::deque<Region> > sam_region_map_t;
 
 
-static const double coarse_pi = 3.2;
+//static const double coarse_pi = 3.2;
 
 
 /*----------------------------------------------------------------------------*/
@@ -670,8 +670,7 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 
 	if ( _monitor_burst){
 	  //	if ( _monitor_positive_noise ) {
-	  std::string his_title    = "Percent of Channels in the " + detector_str( det ) +
-	    " with +E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma";
+	  std::string his_title    = "Yield of channels with +E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma -"+ detector_str( det );
 	  factory_ptr.reset(new LWHist1DFactory<TH1F_LW>(his_title.c_str(),375, 0., 7.5 ));
 	  factory_ptr->SetXTitle("Percent of Channels");
 	  factory_ptr->SetYTitle("Number of Events per 0.02 %");
@@ -681,8 +680,7 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 
 	if ( _monitor_burst){
 	  //	if ( _monitor_negative_noise ) {
-	  std::string his_title    = "Percent of Channels in the " + detector_str( det ) +
-	    " with -E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma";
+	  std::string his_title    = "Yield of channels with -E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma - " + detector_str( det );
 	  factory_ptr.reset(new LWHist1DFactory<TH1F_LW>(his_title.c_str(),375, 0., 7.5 ));
 	  factory_ptr->SetXTitle("Percent of Channels");
 	  factory_ptr->SetYTitle("Number of Events per 0.02 %");
@@ -692,8 +690,7 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 	// Noise fraction (Positive only) histogram when not flagged by LArNoisyROAlg_W 
 	if ( _monitor_burst){
 	  //	if ( _monitor_negative_noise ) {
-	  std::string his_title    = "Percent of Channels in the " + detector_str( det ) +
-	    " with Wheighted Flag > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma";
+	  std::string his_title    = "Yield of channels with +E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma (no LArNoisyRO_StdOpt) -"+ detector_str( det );
 	  factory_ptr.reset(new LWHist1DFactory<TH1F_LW>(his_title.c_str(),375, 0., 7.5 ));
 	  factory_ptr->SetXTitle("Percent of Channels");
 	  factory_ptr->SetYTitle("Number of Events per 0.02 %");
@@ -704,8 +701,7 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 	// Noise fraction (Positive only) histogram when not flagged by LArNoisyROAlg
 	if ( _monitor_burst){
 	  //	if ( _monitor_positive_noise ) {
-	  std::string his_title    = "Percent of Channels in the " + detector_str( det ) +
-	    " with +E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma (Events with No Bursty FEBs)";
+	  std::string his_title    = "Yield of channels with +E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma (no LArNoisyRO_Std) -"+ detector_str( det );
 	  factory_ptr.reset(new LWHist1DFactory<TH1F_LW>(his_title.c_str(),375, 0., 7.5 ));
 	  factory_ptr->SetXTitle("Percent of Channels");
 	  factory_ptr->SetYTitle("Number of Events per 0.02 %");
@@ -715,8 +711,7 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 	// Noise fraction (Positive only) histogram when flagged by LArNoisyROAlg but without time bit set (time veto)
 	if ( _monitor_burst){
 	  //	if ( _monitor_positive_noise ) {
-	  std::string his_title    = "Percent of Channels in the " + detector_str( det ) +
-	    " with +E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma (Events with no LArEventInfo::ERROR )";
+	  std::string his_title    = "Yield of channels with +E > " + lexical_cast<std::string>( _noise_threshold ) +" #sigma (time vetoed) -"+ detector_str( det );
 	  factory_ptr.reset(new LWHist1DFactory<TH1F_LW>(his_title.c_str(),375, 0., 7.5 ));
 	  factory_ptr->SetXTitle("Percent of Channels");
 	  factory_ptr->SetYTitle("Number of Events per 0.02 %");
@@ -724,18 +719,15 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 	}
 
 	if ( _monitor_signal ) {
-	  std::string his_title    = "Sum of the energy (MeV) in all channels of the " + detector_str( det ) + " (no LArEventInfo::ERROR)";
+	  std::string his_title    = "Energy sum (time vetoed) " + detector_str( det );
 	  factory_ptr.reset(new LWHistProfileFactory(his_title.c_str(),_n_lumi_blocks, 0.5, double(_n_lumi_blocks)+0.5 ));
 	  factory_ptr->SetXTitle("Luminosity Block");
-	  factory_ptr->SetYTitle("Mean total energy per lumi block (MeV)");
+	  factory_ptr->SetYTitle("Mean total energy(MeV)");
           det_histogram_factories[det][pedestal_evolution_h] = factory_ptr;
 	}
 
 	if ( _monitor_burst ) {
-	  std::string his_title    = "Number Of Events With More Than " +
-	    std::string( Form( "%.2f", _noise_burst_percent_thresholds[det]) ) +
-	    " % Of All Channels In The " + detector_str(det) + " Reporting |E| > " +
-	    lexical_cast<std::string>( _noise_threshold ) + "#sigma";
+	  std::string his_title    = "# of Events With Y_{3#sigma}>" + std::string( Form( "%.2f", _noise_burst_percent_thresholds[det]) ) + " % - " + detector_str(det);
 	  //	  TH1F graft( ("det_burst_graft"+detector_str(det)).c_str(), his_title.c_str(), 1440, -0.5, 1439.5 );
           factory_ptr.reset(new LWHist1DFactory<TH1F_LW>(his_title.c_str(),_n_lumi_blocks, 0.5, double(_n_lumi_blocks)+0.5));
           factory_ptr->SetXTitle("Luminosity Block");
@@ -745,10 +737,7 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 
 	// With Time Veto
 	if ( _monitor_burst ) {
-	  std::string his_title    = "Number Of Events (after LArNoisyRO Time Veto) With More Than " +
-	    std::string( Form( "%.2f", _noise_burst_percent_thresholds[det]) ) +
-	    " % Of All Channels In The " + detector_str(det) + " Reporting |E| > " +
-	    lexical_cast<std::string>( _noise_threshold ) + "#sigma";
+	  std::string his_title    = "# of Events With Y_{3#sigma}>" + std::string( Form( "%.2f", _noise_burst_percent_thresholds[det]) ) + " % (time vetoed)- " + detector_str(det);
 	  //	  TH1F graft( ("det_burst_graft"+detector_str(det)).c_str(), his_title.c_str(), 1440, -0.5, 1439.5 );
           factory_ptr.reset(new LWHist1DFactory<TH1F_LW>(his_title.c_str(),_n_lumi_blocks, 0.5, double(_n_lumi_blocks)+0.5));
           factory_ptr->SetXTitle("Luminosity Block");
@@ -801,7 +790,7 @@ StatusCode LArRawChannelMonTool::bookHistograms()
 	}
 
 	if ( _monitor_signal ) {
-	  std::string his_title    = "Sum of the energy (MeV) in all channels of the " + detector_str( det ) + " per bunch crossing ";
+	  std::string his_title    = "Energy sum per bunch crossing - " + detector_str( det );
 	  factory_ptr.reset(new LWHistProfileFactory(his_title.c_str(),3564, 0.5, 3564.5 ));
 	  factory_ptr->SetXTitle("Bunch Crossing Number");
 	  factory_ptr->SetYTitle("Mean total energy (MeV)");