From a48df882e97cf0aa407c2820b0537a5cbff6ffde Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 11:40:40 +0200
Subject: [PATCH 1/9] Removed empty and unused branches

---
 .../TrigT1NSWSimTools/MMLoadVariables.h       | 19 -----
 .../TrigT1NSWSimTools/MMTriggerTool.h         | 67 -----------------
 .../src/MMTriggerToolTree.cxx                 | 71 -------------------
 3 files changed, 157 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h
index 84aad786af4f..78e38f63695b 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h
@@ -64,25 +64,6 @@ namespace MuonGM {
         std::vector< std::vector<double> > NSWMM_dig_stripGposX;
         std::vector< std::vector<double> > NSWMM_dig_stripGposY;
         std::vector< std::vector<double> > NSWMM_dig_stripGposZ;
-        std::vector< std::vector<float> >  NSWMM_dig_sr_time;
-        std::vector< std::vector<float> >  NSWMM_dig_sr_charge;
-        std::vector< std::vector<int> >    NSWMM_dig_sr_stripPosition;
-        std::vector< std::vector<double> > NSWMM_dig_sr_stripLposX;
-        std::vector< std::vector<double> > NSWMM_dig_sr_stripLposY;
-        std::vector< std::vector<double> > NSWMM_dig_sr_stripGposX;
-        std::vector< std::vector<double> > NSWMM_dig_sr_stripGposY;
-        std::vector< std::vector<double> > NSWMM_dig_sr_stripGposZ;
-
-        std::vector< int    > NSWMM_dig_truth_barcode;
-        std::vector< double > NSWMM_dig_truth_localPosX;
-        std::vector< double > NSWMM_dig_truth_localPosY;
-        std::vector< double > NSWMM_dig_truth_globalPosX;
-        std::vector< double > NSWMM_dig_truth_globalPosY;
-        std::vector< double > NSWMM_dig_truth_globalPosZ;
-        std::vector< float  > NSWMM_dig_truth_XZ_angle;
-
-        std::vector<int>   NSWMM_dig_stripForTrigger;
-        std::vector<float> NSWMM_dig_stripTimeForTrigger;
     };
     histogramVariables histVars;
 
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
index 35f0361b9689..f3d1abe44eea 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
@@ -198,73 +198,6 @@ namespace NSWL1 {
     std::vector< std::vector<double> > *m_NSWMM_dig_stripGposX;
     std::vector< std::vector<double> > *m_NSWMM_dig_stripGposY;
     std::vector< std::vector<double> > *m_NSWMM_dig_stripGposZ;
-    std::vector< std::vector<float> >  *m_NSWMM_dig_sr_time;
-    std::vector< std::vector<float> >  *m_NSWMM_dig_sr_charge;
-    std::vector< std::vector<int> >    *m_NSWMM_dig_sr_stripPosition;
-    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripLposX;
-    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripLposY;
-    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposX;
-    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposY;
-    std::vector< std::vector<double> > *m_NSWMM_dig_sr_stripGposZ;
-
-    std::vector< int    > *m_NSWMM_dig_truth_barcode;
-    std::vector< double > *m_NSWMM_dig_truth_localPosX;
-    std::vector< double > *m_NSWMM_dig_truth_localPosY;
-    std::vector< double > *m_NSWMM_dig_truth_globalPosX;
-    std::vector< double > *m_NSWMM_dig_truth_globalPosY;
-    std::vector< double > *m_NSWMM_dig_truth_globalPosZ;
-    std::vector< float  > *m_NSWMM_dig_truth_XZ_angle;
-
-    std::vector<int>   *m_NSWMM_dig_stripForTrigger;
-    std::vector<float> *m_NSWMM_dig_stripTimeForTrigger;
-
-
-    std::vector<int>    *m_NSWMM_trackId;
-    std::vector<int>    *m_NSWMM_truthEl;
-    std::vector<double> *m_NSWMM_globalTime;
-    std::vector<double> *m_NSWMM_hitGlobalPositionX;
-    std::vector<double> *m_NSWMM_hitGlobalPositionY;
-    std::vector<double> *m_NSWMM_hitGlobalPositionZ;
-    std::vector<double> *m_NSWMM_hitGlobalPositionR;
-    std::vector<double> *m_NSWMM_hitGlobalPositionP;
-    std::vector<double> *m_NSWMM_hitGlobalDirectionX;
-    std::vector<double> *m_NSWMM_hitGlobalDirectionY;
-    std::vector<double> *m_NSWMM_hitGlobalDirectionZ;
-
-
-    std::vector<double> *m_NSWMM_detector_globalPositionX;
-    std::vector<double> *m_NSWMM_detector_globalPositionY;
-    std::vector<double> *m_NSWMM_detector_globalPositionZ;
-    std::vector<double> *m_NSWMM_detector_globalPositionR;
-    std::vector<double> *m_NSWMM_detector_globalPositionP;
-
-    std::vector<double> *m_NSWMM_hitToDsurfacePositionX;
-    std::vector<double> *m_NSWMM_hitToDsurfacePositionY;
-    std::vector<double> *m_NSWMM_hitToDsurfacePositionZ;
-
-    std::vector<double> *m_NSWMM_hitToRsurfacePositionX;
-    std::vector<double> *m_NSWMM_hitToRsurfacePositionY;
-    std::vector<double> *m_NSWMM_hitToRsurfacePositionZ;
-
-
-    std::vector<int> *m_NSWMM_particleEncoding;
-    std::vector<double> *m_NSWMM_kineticEnergy;
-    std::vector<double> *m_NSWMM_depositEnergy;
-
-    std::vector<std::string> *m_NSWMM_sim_stationName;
-    std::vector<int> *m_NSWMM_sim_stationEta;
-    std::vector<int> *m_NSWMM_sim_stationPhi;
-    std::vector<int> *m_NSWMM_sim_multilayer;
-    std::vector<int> *m_NSWMM_sim_layer;
-    std::vector<int> *m_NSWMM_sim_side;
-
-    std::vector<std::string> *m_NSWMM_off_stationName;
-    std::vector<int> *m_NSWMM_off_stationEta;
-    std::vector<int> *m_NSWMM_off_stationPhi;
-    std::vector<int> *m_NSWMM_off_multiplet;
-    std::vector<int> *m_NSWMM_off_gas_gap;
-    std::vector<int> *m_NSWMM_off_channel;
-
   };  // end of MMTriggerTool class
 
 } // namespace NSWL1
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx
index d742479e9ce0..b7c920a114d7 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerToolTree.cxx
@@ -123,23 +123,6 @@ namespace NSWL1 {
       m_NSWMM_dig_stripGposY    = new std::vector< std::vector<double> >;
       m_NSWMM_dig_stripGposZ    = new std::vector< std::vector<double> >;
 
-      m_NSWMM_dig_sr_time          = new std::vector< std::vector<float> >;
-      m_NSWMM_dig_sr_charge        = new std::vector< std::vector<float> >;
-      m_NSWMM_dig_sr_stripPosition = new std::vector< std::vector<int> >;
-      m_NSWMM_dig_sr_stripLposX    = new std::vector< std::vector<double> >;
-      m_NSWMM_dig_sr_stripLposY    = new std::vector< std::vector<double> >;
-      m_NSWMM_dig_sr_stripGposX    = new std::vector< std::vector<double> >;
-      m_NSWMM_dig_sr_stripGposY    = new std::vector< std::vector<double> >;
-      m_NSWMM_dig_sr_stripGposZ    = new std::vector< std::vector<double> >;
-
-      m_NSWMM_dig_truth_barcode    = new std::vector<int>;
-      m_NSWMM_dig_truth_localPosX  = new std::vector<double>;
-      m_NSWMM_dig_truth_localPosY  = new std::vector<double>;
-      m_NSWMM_dig_truth_XZ_angle   = new std::vector<float>;
-      m_NSWMM_dig_truth_globalPosX = new std::vector<double>;
-      m_NSWMM_dig_truth_globalPosY = new std::vector<double>;
-      m_NSWMM_dig_truth_globalPosZ = new std::vector<double>;
-
       if (m_tree) {
         std::string ToolName = name().substr(  name().find("::")+2,std::string::npos );
         const char* n = ToolName.c_str();
@@ -241,23 +224,6 @@ namespace NSWL1 {
         m_tree->Branch("Digits_MM_stripGposX",    &m_NSWMM_dig_stripGposX);
         m_tree->Branch("Digits_MM_stripGposY",    &m_NSWMM_dig_stripGposY);
         m_tree->Branch("Digits_MM_stripGposZ",    &m_NSWMM_dig_stripGposZ);
-
-        m_tree->Branch("Digits_MM_stripResponse_time",          &m_NSWMM_dig_sr_time);
-        m_tree->Branch("Digits_MM_stripResponse_charge",        &m_NSWMM_dig_sr_charge);
-        m_tree->Branch("Digits_MM_stripResponse_stripPosition", &m_NSWMM_dig_sr_stripPosition);
-        m_tree->Branch("Digits_MM_stripResponse_stripLposX",    &m_NSWMM_dig_sr_stripLposX);
-        m_tree->Branch("Digits_MM_stripResponse_stripLposY",    &m_NSWMM_dig_sr_stripLposY);
-        m_tree->Branch("Digits_MM_stripresponse_stripGposX",    &m_NSWMM_dig_sr_stripGposX);
-        m_tree->Branch("Digits_MM_stripResponse_stripGposY",    &m_NSWMM_dig_sr_stripGposY);
-        m_tree->Branch("Digits_MM_stripResponse_stripGposZ",    &m_NSWMM_dig_sr_stripGposZ);
-
-        m_tree->Branch("Digits_MM_truth_barcode",    &m_NSWMM_dig_truth_barcode);
-        m_tree->Branch("Digits_MM_truth_localPosX",  &m_NSWMM_dig_truth_localPosX);
-        m_tree->Branch("Digits_MM_truth_localPosY",  &m_NSWMM_dig_truth_localPosY);
-        m_tree->Branch("Digits_MM_truth_XZ_angle",   &m_NSWMM_dig_truth_XZ_angle);
-        m_tree->Branch("Digits_MM_truth_globalPosX", &m_NSWMM_dig_truth_globalPosX);
-        m_tree->Branch("Digits_MM_truth_globalPosY", &m_NSWMM_dig_truth_globalPosY);
-        m_tree->Branch("Digits_MM_truth_globalPosZ", &m_NSWMM_dig_truth_globalPosZ);
       } else {
         return StatusCode::FAILURE;
       }
@@ -371,28 +337,6 @@ namespace NSWL1 {
       m_NSWMM_dig_stripGposX->clear();
       m_NSWMM_dig_stripGposY->clear();
       m_NSWMM_dig_stripGposZ->clear();
-
-      // vectors of size m_NSWMM_nDigits that hold vectors in which an entry
-      // corresponds to a strip that was decided to be fired by the digit
-      // (information from VMM chip strip emulation)
-      m_NSWMM_dig_sr_time->clear();
-      m_NSWMM_dig_sr_charge->clear();
-      m_NSWMM_dig_sr_stripPosition->clear();
-      m_NSWMM_dig_sr_stripLposX->clear();
-      m_NSWMM_dig_sr_stripLposY->clear();
-      m_NSWMM_dig_sr_stripGposX->clear();
-      m_NSWMM_dig_sr_stripGposY->clear();
-      m_NSWMM_dig_sr_stripGposZ->clear();
-
-      // truth information of the (1st) Geant4 hits that caused this
-      // digit to be recorded (size is m_NSWMM_nDigits)
-      m_NSWMM_dig_truth_barcode->clear();
-      m_NSWMM_dig_truth_localPosX->clear();
-      m_NSWMM_dig_truth_localPosY->clear();
-      m_NSWMM_dig_truth_XZ_angle->clear();
-      m_NSWMM_dig_truth_globalPosX->clear();
-      m_NSWMM_dig_truth_globalPosY->clear();
-      m_NSWMM_dig_truth_globalPosZ->clear();
     }
     void MMTriggerTool::fillNtuple(const MMLoadVariables& loadedVariables){
 
@@ -409,20 +353,5 @@ namespace NSWL1 {
       *m_NSWMM_dig_stripGposX    = loadedVariables.histVars.NSWMM_dig_stripGposX;
       *m_NSWMM_dig_stripGposY    = loadedVariables.histVars.NSWMM_dig_stripGposY;
       *m_NSWMM_dig_stripGposZ    = loadedVariables.histVars.NSWMM_dig_stripGposZ;
-      *m_NSWMM_dig_sr_time          = loadedVariables.histVars.NSWMM_dig_sr_time;
-      *m_NSWMM_dig_sr_charge        = loadedVariables.histVars.NSWMM_dig_sr_charge;
-      *m_NSWMM_dig_sr_stripPosition = loadedVariables.histVars.NSWMM_dig_sr_stripPosition;
-      *m_NSWMM_dig_sr_stripLposX    = loadedVariables.histVars.NSWMM_dig_sr_stripLposX;
-      *m_NSWMM_dig_sr_stripLposY    = loadedVariables.histVars.NSWMM_dig_sr_stripLposY;
-      *m_NSWMM_dig_sr_stripGposX    = loadedVariables.histVars.NSWMM_dig_sr_stripGposX;
-      *m_NSWMM_dig_sr_stripGposY    = loadedVariables.histVars.NSWMM_dig_sr_stripGposY;
-      *m_NSWMM_dig_sr_stripGposZ    = loadedVariables.histVars.NSWMM_dig_sr_stripGposZ;
-      *m_NSWMM_dig_truth_barcode    = loadedVariables.histVars.NSWMM_dig_truth_barcode;
-      *m_NSWMM_dig_truth_localPosX  = loadedVariables.histVars.NSWMM_dig_truth_localPosX;
-      *m_NSWMM_dig_truth_localPosY  = loadedVariables.histVars.NSWMM_dig_truth_localPosY;
-      *m_NSWMM_dig_truth_XZ_angle   = loadedVariables.histVars.NSWMM_dig_truth_XZ_angle;
-      *m_NSWMM_dig_truth_globalPosX = loadedVariables.histVars.NSWMM_dig_truth_globalPosX;
-      *m_NSWMM_dig_truth_globalPosY = loadedVariables.histVars.NSWMM_dig_truth_globalPosY;
-      *m_NSWMM_dig_truth_globalPosZ = loadedVariables.histVars.NSWMM_dig_truth_globalPosZ;
     }
 }//end namespace
-- 
GitLab


From dfc6985d475f4af422d2345d2ab148d4be752bac Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 12:01:31 +0200
Subject: [PATCH 2/9] Pass variables by reference in for-loops, avoiding copy

---
 .../TrigT1/TrigT1NSWSimTools/src/TriggerProcessorTool.cxx   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/TriggerProcessorTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/TriggerProcessorTool.cxx
index b33e6885ed71..8b1329e41039 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/TriggerProcessorTool.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/TriggerProcessorTool.cxx
@@ -23,7 +23,7 @@ namespace NSWL1 {
                                             Muon::NSW_TrigRawDataContainer* trigRdoContainer) {
 
     ATH_MSG_DEBUG("Pad Trigger Container size: " << padTriggerContainer->size());
-    for ( const Muon::NSW_PadTriggerData* padTriggerData : *padTriggerContainer ) {
+    for ( const auto &padTriggerData : *padTriggerContainer ) {
       ATH_MSG_DEBUG("Pad Trigger data: " << *padTriggerData);
 
       char sectorSide = (padTriggerData->endcap() == Muon::NSW_PadTriggerData::Endcap::A) ? 'A' : 'C';
@@ -46,13 +46,13 @@ namespace NSWL1 {
     }
     ATH_MSG_DEBUG("After PadTrigger filling -> NSW Trigger RDO size: " << trigRdoContainer->size());
 
-    for (const auto rawData : *stripTriggerContainer) {
+    for (const auto &rawData : *stripTriggerContainer) {
       Muon::NSW_TrigRawData* trigRawData = new Muon::NSW_TrigRawData(*rawData, true);
       trigRdoContainer->push_back(trigRawData);
     }
     ATH_MSG_DEBUG("After sTGC strip trigger filling -> NSW Trigger RDO size: " << trigRdoContainer->size());
 
-    for (const auto rawData : *MMTriggerContainer) {
+    for (const auto &rawData : *MMTriggerContainer) {
       Muon::NSW_TrigRawData* trigRawData = new Muon::NSW_TrigRawData(*rawData, false);
       trigRdoContainer->push_back(trigRawData);
     }
-- 
GitLab


From ff04c8085ad993df45c953bbc8f7ed914d5c5d44 Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 12:28:29 +0200
Subject: [PATCH 3/9] Don't look for phi/R/dTheta IDs if the input is out of
 allowed ranges

---
 .../TrigT1NSWSimTools/src/MMTriggerTool.cxx   | 45 ++++++++++++-------
 1 file changed, 30 insertions(+), 15 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
index 3dfa1f8a9a56..359568b6d52f 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
@@ -286,35 +286,50 @@ namespace NSWL1 {
                       // Phi-id
                       uint8_t phi_id = 0;
                       if (slope.phiShf*M_PI/180.0 > m_phiMax || slope.phiShf*M_PI/180.0 < m_phiMin) trigRawDataSegment->setPhiIndex(phi_id);
-                      uint8_t nPhi = (1<<m_phiBits) -2; // To accomodate the new phi-id encoding prescription around 0
-                      float phiSteps = (m_phiMax - m_phiMin)/nPhi;
-                      for (uint8_t i=0; i<nPhi; i++) {
-                        if ((slope.phiShf*M_PI/180.0) < (m_phiMin+i*phiSteps)) phi_id = i;
+                      else {
+                        uint8_t nPhi = (1<<m_phiBits) -2; // To accomodate the new phi-id encoding prescription around 0
+                        float phiSteps = (m_phiMax - m_phiMin)/nPhi;
+                        for (uint8_t i=0; i<nPhi; i++) {
+                          if ((slope.phiShf*M_PI/180.0) < (m_phiMin+i*phiSteps)) {
+                            phi_id = i;
+                            break;
+                          }
+                        }
+                        trigRawDataSegment->setPhiIndex(phi_id);
                       }
-                      trigRawDataSegment->setPhiIndex(phi_id);
                       if (m_doNtuple) m_trigger_diamond_TP_phi_id->push_back(phi_id);
 
                       // R-id
                       double extrapolatedR = slope.mx*7824.46; // The Z plane is a fixed value, taken from SL-TP documentation
                       uint8_t R_id = 0;
                       if (extrapolatedR > m_rMax || extrapolatedR < m_rMin) trigRawDataSegment->setRIndex(R_id);
-                      uint8_t nR = (1<<m_rBits) -1;
-                      float Rsteps = (m_rMax - m_rMin)/nR;
-                      for (uint8_t j=0; j<nR; j++) {
-                        if (extrapolatedR < (m_rMin+j*Rsteps)) R_id = j;
+                      else {
+                        uint8_t nR = (1<<m_rBits) -1;
+                        float Rsteps = (m_rMax - m_rMin)/nR;
+                        for (uint8_t j=0; j<nR; j++) {
+                          if (extrapolatedR < (m_rMin+j*Rsteps)) {
+                            R_id = j;
+                            break;
+                          }
+                        }
+                        trigRawDataSegment->setRIndex(R_id);
                       }
-                      trigRawDataSegment->setRIndex(R_id);
                       if (m_doNtuple) m_trigger_diamond_TP_R_id->push_back(R_id);
 
                       // DeltaTheta-id
                       uint8_t dTheta_id = 0;
                       if (slope.dtheta*M_PI/180.0 > m_dThetaMax || slope.dtheta*M_PI/180.0 < m_dThetaMin) trigRawDataSegment->setDeltaTheta(dTheta_id);
-                      uint8_t ndTheta = (1<<m_dThetaBits) -1;
-                      float dThetaSteps = (m_dThetaMax - m_dThetaMin)/ndTheta;
-                      for (uint8_t k=0; k<ndTheta; k++) {
-                        if ((slope.dtheta*M_PI/180.0) < (m_dThetaMin+k*dThetaSteps)) dTheta_id = k;
+                      else {
+                        uint8_t ndTheta = (1<<m_dThetaBits) -1;
+                        float dThetaSteps = (m_dThetaMax - m_dThetaMin)/ndTheta;
+                        for (uint8_t k=0; k<ndTheta; k++) {
+                          if ((slope.dtheta*M_PI/180.0) < (m_dThetaMin+k*dThetaSteps)) {
+                            dTheta_id = k;
+                            break;
+                          }
+                        }
+                        trigRawDataSegment->setDeltaTheta(dTheta_id);
                       }
-                      trigRawDataSegment->setDeltaTheta(dTheta_id);
                       if (m_doNtuple) m_trigger_diamond_TP_dTheta_id->push_back(dTheta_id);
 
                       // Low R-resolution bit
-- 
GitLab


From bc3aae16813586d0230ea8477bfc8ec1563335e0 Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 12:37:03 +0200
Subject: [PATCH 4/9] Moved all the include declarations to the header file

---
 .../TrigT1NSWSimTools/MMTriggerTool.h              | 13 ++++++++++---
 .../TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx | 14 --------------
 2 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
index f3d1abe44eea..7c2e160a8de9 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef MMTRIGGERTOOL_H
@@ -9,19 +9,26 @@
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "Gaudi/Property.h"
 #include "GaudiKernel/IIncidentListener.h"
+#include "GaudiKernel/ITHistSvc.h"
+#include "GaudiKernel/IIncidentSvc.h"
+#include "MuonIdHelpers/MmIdHelper.h"
 
 //local includes
 #include "TrigT1NSWSimTools/IMMTriggerTool.h"
-#include "MMT_Diamond.h"
+#include "TrigT1NSWSimTools/MMLoadVariables.h"
+#include "TrigT1NSWSimTools/MMT_Finder.h"
+#include "TrigT1NSWSimTools/MMT_Fitter.h"
+#include "TrigT1NSWSimTools/MMT_Diamond.h"
 
 //forward declarations
 class IIncidentSvc;
 class MmIdHelper;
 class MmDigit;
 class TTree;
+#include "TTree.h"
 
-#include "MMLoadVariables.h"
 #include "MuonDigitContainer/MmDigitContainer.h"
+#include "MuonDigitContainer/MmDigit.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "TrackRecord/TrackRecordCollection.h"
 
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
index 359568b6d52f..37c253fd5f46 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
@@ -2,21 +2,7 @@
   Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 */
 
-// local includes
 #include "TrigT1NSWSimTools/MMTriggerTool.h"
-#include "TrigT1NSWSimTools/MMT_Finder.h"
-#include "TrigT1NSWSimTools/MMT_Fitter.h"
-// Athena/Gaudi includes
-#include "GaudiKernel/ITHistSvc.h"
-#include "GaudiKernel/IIncidentSvc.h"
-#include "MuonIdHelpers/MmIdHelper.h"
-
-//Muon software includes
-#include "MuonDigitContainer/MmDigit.h"
-
-// ROOT includes
-#include "TTree.h"
-
 
 using std::vector;
 using std::map;
-- 
GitLab


From 5c249cdf44c9b529202ad5ec5ea8831d56164001 Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 12:38:19 +0200
Subject: [PATCH 5/9] Changed output level to warning

---
 Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx
index 94dd318b9003..fe463db1701a 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/StripClusterTool.cxx
@@ -208,7 +208,7 @@ namespace NSWL1 {
       float locx=-999999;
       float locy=-999999;
       if (this_cl->empty()){
-        ATH_MSG_INFO("Zero size cluster!!");
+        ATH_MSG_WARNING("Zero size cluster!!");
         continue;
       }
 
-- 
GitLab


From e70c03760359b8f7b133ae38ce626719daa58355 Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 12:42:10 +0200
Subject: [PATCH 6/9] Used default destructor

---
 .../TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h       | 2 +-
 Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx        | 4 ----
 2 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
index 7c2e160a8de9..9f4ec9dca238 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
@@ -54,7 +54,7 @@ namespace NSWL1 {
 
     MMTriggerTool(const std::string& type, const std::string& name, const IInterface* parent);
 
-    virtual ~MMTriggerTool();
+    virtual ~MMTriggerTool()=default;
 
     virtual StatusCode initialize();
 
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
index 37c253fd5f46..5a0d32bf9d5d 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
@@ -24,10 +24,6 @@ namespace NSWL1 {
     declareInterface<NSWL1::IMMTriggerTool>(this);
   }
 
-  MMTriggerTool::~MMTriggerTool() {
-
-  }
-
   StatusCode MMTriggerTool::initialize() {
 
     ATH_MSG_DEBUG( "initializing -- " << name() );
-- 
GitLab


From 3da3971442efa253a5d7cd5d5e6ecceeef6b53f0 Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 12:58:36 +0200
Subject: [PATCH 7/9] Removed using declarations and replacing them with std
 namespace

---
 .../TrigT1NSWSimTools/src/MMLoadVariables.cxx | 14 ++++-------
 .../TrigT1NSWSimTools/src/MMTriggerTool.cxx   | 25 ++++++-------------
 2 files changed, 13 insertions(+), 26 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
index 79246c2caecb..d03f646ef5cb 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMLoadVariables.cxx
@@ -16,10 +16,6 @@
 
 #include "FourMomUtils/xAODP4Helpers.h"
 
-using std::map;
-using std::vector;
-using std::string;
-
 MMLoadVariables::MMLoadVariables(StoreGateSvc* evtStore, const MuonGM::MuonDetectorManager* detManager, const MmIdHelper* idhelper):
    AthMessaging(Athena::getMessageSvc(), "MMLoadVariables") {
       m_evtStore = evtStore;
@@ -31,7 +27,7 @@ StatusCode MMLoadVariables::getMMDigitsInfo(const McEventCollection *truthContai
                                             const TrackRecordCollection* trackRecordCollection,
                                             const MmDigitContainer *nsw_MmDigitContainer,
                                             std::map<std::pair<int,unsigned int>,std::vector<digitWrapper> >& entries,
-                                            std::map<std::pair<int,unsigned int>,map<hitData_key,hitData_entry> >& Hits_Data_Set_Time,
+                                            std::map<std::pair<int,unsigned int>,std::map<hitData_key,hitData_entry> >& Hits_Data_Set_Time,
                                             std::map<std::pair<int,unsigned int>,evInf_entry>& Event_Info,
                                             std::map<std::string, std::shared_ptr<MMT_Parameters> > &pars) {
       //*******Following MuonPRD code to access all the variables**********
@@ -259,8 +255,8 @@ StatusCode MMLoadVariables::getMMDigitsInfo(const McEventCollection *truthContai
         std::string station = it->second[0].stName;
         bool uvxxmod=(pars[station]->setup.compare("xxuvuvxx")==0);
 
-        map<hitData_key,hitData_entry> hit_info;
-        vector<hitData_key> keys;
+        std::map<hitData_key,hitData_entry> hit_info;
+        std::vector<hitData_key> keys;
 
         //Now we need to loop on digits
         for (const auto &dW : it->second) {
@@ -328,9 +324,9 @@ StatusCode MMLoadVariables::getMMDigitsInfo(const McEventCollection *truthContai
         }
 
         int xhit=0,uvhit=0;
-        vector<bool>plane_hit(pars[station]->setup.size(),false);
+        std::vector<bool>plane_hit(pars[station]->setup.size(),false);
 
-        for(map<hitData_key,hitData_entry>::iterator it=hit_info.begin(); it!=hit_info.end(); ++it){
+        for(std::map<hitData_key,hitData_entry>::iterator it=hit_info.begin(); it!=hit_info.end(); ++it){
           int plane=it->second.plane;
           plane_hit[plane]=true;
           if (tru_it != Event_Info.end()) tru_it->second.N_hits_postVMM++;
diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
index 5a0d32bf9d5d..06860c42777d 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMTriggerTool.cxx
@@ -4,15 +4,6 @@
 
 #include "TrigT1NSWSimTools/MMTriggerTool.h"
 
-using std::vector;
-using std::map;
-using std::pair;
-using std::string;
-using std::ios;
-using std::setfill;
-using std::setw;
-
-
 namespace NSWL1 {
 
   MMTriggerTool::MMTriggerTool( const std::string& type, const std::string& name, const IInterface* parent) :
@@ -29,9 +20,9 @@ namespace NSWL1 {
     ATH_MSG_DEBUG( "initializing -- " << name() );
 
     ATH_MSG_DEBUG( name() << " configuration:");
-    ATH_MSG_DEBUG(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_mmDigitContainer.name() << m_mmDigitContainer.value());
-    ATH_MSG_DEBUG(" " << setw(32) << setfill('.') << setiosflags(ios::left) << m_doNtuple.name() << ((m_doNtuple)? "[True]":"[False]")
-                     << setfill(' ') << setiosflags(ios::right) );
+    ATH_MSG_DEBUG(" " << std::setw(32) << std::setfill('.') << std::setiosflags(std::ios::left) << m_mmDigitContainer.name() << m_mmDigitContainer.value());
+    ATH_MSG_DEBUG(" " << std::setw(32) << std::setfill('.') << std::setiosflags(std::ios::left) << m_doNtuple.name() << ((m_doNtuple)? "[True]":"[False]")
+                      << std::setfill(' ') << std::setiosflags(std::ios::right) );
 
     ATH_CHECK(m_keyMcEventCollection.initialize(m_isMC));
     ATH_CHECK(m_keyMuonEntryLayer.initialize(m_isMC));
@@ -336,7 +327,7 @@ namespace NSWL1 {
             auto find = std::make_unique<MMT_Finder>(pars[station], 1);
             ATH_MSG_DEBUG(  "Number of Roads Configured " <<  find->get_roads()  );
 
-            std::map<pair<int,int>,finder_entry> hitBuffer;
+            std::map<std::pair<int,int>,finder_entry> hitBuffer;
             for (const auto &hit_it : reco_it->second) {
               find->fillHitBuffer( hitBuffer, hit_it.second.entry_hit(pars[station]), pars[station] ); // Hit object, Map (road,plane) -> Finder entry
   
@@ -375,18 +366,18 @@ namespace NSWL1 {
             const int nfit_max = 1;  //MOVE THIS EVENTUALLY
             int nRoads = find->get_roads();
 
-            vector<evFit_entry> road_fits = vector<evFit_entry>(nRoads,evFit_entry());
+            std::vector<evFit_entry> road_fits = std::vector<evFit_entry>(nRoads,evFit_entry());
 
             //Variables saved for Alex T. for hardware validation
             double mxl;
             double fillmxl = -999;
             double muGlobal;
             double mvGlobal;
-            vector<pair<double,double> > mxmy;
+            std::vector<std::pair<double,double> > mxmy;
 
             for (int iRoad = 0; iRoad < nRoads; iRoad++) {
-              vector<bool> plane_is_hit;
-              vector<Hit> track;
+              std::vector<bool> plane_is_hit;
+              std::vector<Hit> track;
 
               //Check if there are hits in the buffer
               find->checkBufferForHits(  plane_is_hit, // Empty, To be filled by function.
-- 
GitLab


From e3517b2259c8da97ba1b73ea633618eb1a2311cf Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 17:18:11 +0200
Subject: [PATCH 8/9] Updated copyright

---
 .../TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h
index 78e38f63695b..c9d531f3c9b1 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMLoadVariables.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef MMLOADVARIABLES_H
-- 
GitLab


From c6b14c1a5f661eff20979bf6d106029552c64b2a Mon Sep 17 00:00:00 2001
From: fgravili <francesco.giuseppe.gravili@cern.ch>
Date: Thu, 5 May 2022 17:19:11 +0200
Subject: [PATCH 9/9] Removed forward declarations as includes are already in
 the header file

---
 .../TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h     | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
index 9f4ec9dca238..4f0d1289cde7 100644
--- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
+++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMTriggerTool.h
@@ -19,12 +19,6 @@
 #include "TrigT1NSWSimTools/MMT_Finder.h"
 #include "TrigT1NSWSimTools/MMT_Fitter.h"
 #include "TrigT1NSWSimTools/MMT_Diamond.h"
-
-//forward declarations
-class IIncidentSvc;
-class MmIdHelper;
-class MmDigit;
-class TTree;
 #include "TTree.h"
 
 #include "MuonDigitContainer/MmDigitContainer.h"
-- 
GitLab