From 8c31acce0bc61c8c1ddcf98823d756fe944276eb Mon Sep 17 00:00:00 2001
From: Savannah Rose Shively <sshively@lxplus741.cern.ch>
Date: Mon, 28 Nov 2022 16:15:28 +0100
Subject: [PATCH] alg cleanup

---
 .../PairVertex/python/PairVertexAlgConfig.py  | 37 +------
 .../PairVertex/src/PairVertexAlg.cxx          | 98 +------------------
 .../PairVertex/src/PairVertexAlg.h            | 13 +--
 3 files changed, 7 insertions(+), 141 deletions(-)

diff --git a/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py b/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py
index 6d35c688..4243fe99 100644
--- a/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py
+++ b/Tracker/TrackerRecAlgs/PairVertex/python/PairVertexAlgConfig.py
@@ -19,20 +19,12 @@ ui=parser.parse_args()
 
 inputIsMC = 'FaserMC' in ui.inputfile
 
-
+#Get/Make input/output file names
 from ROOT import TFile
 from glob import glob
 dataDir=f"/eos/experiment/faser/sim/mdc/foresee/{ui.runnum}/rec/r0009/"
 files=sorted(glob(f"{dataDir}/Faser*"))
-fileList=[]
-name=files[0].split("r0009/")[-1].split("MDC_FS")[-1].split("shift")[0]
-print("FILES: ",files)
-# for fName in files:
-#     try:
-#         fh=TFile(fName)
-#         fileList.append(fName)
-#     except OSError:
-#         print("Warning bad file: ",fName)
+name=files[0].split("r0009/")[-1].split("MDC_FS")[-1].split("shift")[0] #Generate output file name from input file name
 
 #-------------------
 
@@ -40,16 +32,7 @@ print("FILES: ",files)
 def PairVertexAlgCfg(flags, **kwargs):
     acc = FaserSCT_GeometryCfg(flags)
     acc.merge(MagneticFieldSvcCfg(flags))
-    # acc.merge(FaserActsTrackingGeometrySvcCfg(flags))
-    # acc.merge(FaserActsAlignmentCondAlgCfg(flags))
-
-    #actsExtrapolationTool = CompFactory.FaserActsExtrapolationTool("FaserActsExtrapolationTool")
-    #actsExtrapolationTool.MaxSteps = 1000
-    #actsExtrapolationTool.TrackingGeometryTool = CompFactory.FaserActsTrackingGeometryTool("TrackingGeometryTool")
-
-
     PairVertexAlg = CompFactory.Tracker.PairVertexAlg("PairVertexAlg",**kwargs)
-    #PairVertexAlg.ExtrapolationTool = actsExtrapolationTool
     acc.addEventAlgo(PairVertexAlg)
 
     #Hist output
@@ -96,7 +79,7 @@ if __name__ == "__main__":
     # algorithm
     acc.merge(PairVertexAlgCfg(ConfigFlags))
 
-    # # Hack to avoid problem with our use of MC databases when isMC = False
+    # Hack to avoid problem with our use of MC databases when isMC = False
     if not inputIsMC:
         replicaSvc = acc.getService("DBReplicaSvc")
         replicaSvc.COOLSQLiteVetoPattern = ""
@@ -104,20 +87,6 @@ if __name__ == "__main__":
         replicaSvc.UseCOOLFrontier = False
         replicaSvc.UseGeomSQLite = True
 
-    # Timing
-    #acc.merge(MergeRecoTimingObjCfg(ConfigFlags))
-
-    # Dump config
-    # logging.getLogger('forcomps').setLevel(VERBOSE)
-    # acc.foreach_component("*").OutputLevel = VERBOSE
-    # acc.foreach_component("*ClassID*").OutputLevel = INFO
-    # acc.getCondAlgo("FaserSCT_AlignCondAlg").OutputLevel = VERBOSE
-    # acc.getCondAlgo("FaserSCT_DetectorElementCondAlg").OutputLevel = VERBOSE
-    # acc.getService("StoreGateSvc").Dump = True
-    # acc.getService("ConditionStore").Dump = True
-    # acc.printConfig(withDetails=True)
-    # ConfigFlags.dump()
-
     # Execute and finish
     sc = acc.run(maxEvents=ui.events)
 
diff --git a/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.cxx b/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.cxx
index 4626c0b8..8009ce9a 100644
--- a/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.cxx
+++ b/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.cxx
@@ -36,8 +36,6 @@ void PairVertexAlg::addBranch(const std::string &name,
 				unsigned int* var) {
   m_tree->Branch(name.c_str(),var,(name+"/I").c_str());
 }
-
-
 void PairVertexAlg::addWaveBranches(const std::string &name,
 				      int nchannels,
 				      int first) {
@@ -74,7 +72,6 @@ void PairVertexAlg::FillWaveBranches(const xAOD::WaveformHitContainer &wave) con
   }
 }
 
-
 bool PairVertexAlg::waveformHitOK(const xAOD::WaveformHit* hit) const
 {
     if (hit->status_bit(xAOD::WaveformStatus::THRESHOLD_FAILED) || hit->status_bit(xAOD::WaveformStatus::SECONDARY)) return false;
@@ -82,8 +79,6 @@ bool PairVertexAlg::waveformHitOK(const xAOD::WaveformHit* hit) const
 }
 
 
-
-
 StatusCode PairVertexAlg::initialize() 
 {
   ATH_CHECK(m_mcEventCollectionKey.initialize());
@@ -93,8 +88,7 @@ StatusCode PairVertexAlg::initialize()
   ATH_CHECK(m_triggerContainer.initialize());
   ATH_CHECK(m_preshowerContainer.initialize());
   ATH_CHECK(m_ecalContainer.initialize());
-  //ATH_CHECK(m_extrapolationTool.retrieve());
-  
+
   ATH_CHECK(detStore()->retrieve(m_idHelper, "FaserSCT_ID"));
   ATH_CHECK(detStore()->retrieve(m_detMgr, "SCT"));
   ATH_CHECK(detStore()->retrieve(m_vetoNuHelper,    "VetoNuID"));
@@ -103,7 +97,6 @@ StatusCode PairVertexAlg::initialize()
   ATH_CHECK(detStore()->retrieve(m_preshowerHelper, "PreshowerID"));
   ATH_CHECK(detStore()->retrieve(m_ecalHelper,      "EcalID"));
 
-
   m_tree = new TTree("events", "Events");
   m_tree->Branch("Tracks", &m_tracks);
   m_tree->Branch("TrackCount", &m_trackCount, "trackCount/I");
@@ -139,14 +132,10 @@ StatusCode PairVertexAlg::initialize()
   addWaveBranches("Preshower",2,12);
   addWaveBranches("Calo",4,0);
 
-  //EXTRAPOLATION
+  //TRUTH
    m_tree->Branch("vertexPos", &m_vertexPos); // [x,y,z]
 
-
   ATH_CHECK(histSvc()->regTree("/HIST/events", m_tree));
-
-
-
   return StatusCode::SUCCESS;
 }
 
@@ -154,24 +143,15 @@ StatusCode PairVertexAlg::execute(const EventContext &ctx) const
 {
     clearTree();
     m_numberOfEvents++;
-    // const Acts::GeometryContext gctx =
-    //     m_extrapolationTool->trackingGeometryTool()->getNominalGeometryContext().context();
-
-    
     //WAVEFORM & CALO
-
     SG::ReadHandle<xAOD::WaveformHitContainer> vetoNuContainer { m_vetoNuContainer, ctx };
     ATH_CHECK(vetoNuContainer.isValid());
-    
     SG::ReadHandle<xAOD::WaveformHitContainer> vetoContainer { m_vetoContainer, ctx };
     ATH_CHECK(vetoContainer.isValid());
-
     SG::ReadHandle<xAOD::WaveformHitContainer> triggerContainer { m_triggerContainer, ctx };
     ATH_CHECK(triggerContainer.isValid());
-
     SG::ReadHandle<xAOD::WaveformHitContainer> preshowerContainer { m_preshowerContainer, ctx };
     ATH_CHECK(preshowerContainer.isValid());
-
     SG::ReadHandle<xAOD::WaveformHitContainer> ecalContainer { m_ecalContainer, ctx };
     ATH_CHECK(ecalContainer.isValid());
 
@@ -181,15 +161,9 @@ StatusCode PairVertexAlg::execute(const EventContext &ctx) const
     FillWaveBranches(*ecalContainer);
     FillWaveBranches(*vetoNuContainer);
 
-
-
     // TRACK COLLECTION
     SG::ReadHandle<TrackCollection> tracks { m_trackCollectionKey, ctx };
     ATH_CHECK(tracks.isValid());
-
-    // const Trk::TrackParameters* positive {nullptr};
-    // const Trk::TrackParameters* negative {nullptr};
-
     for (auto trk : *tracks)
     {
         const Trk::TrackParameters* upstream {nullptr};
@@ -259,8 +233,6 @@ StatusCode PairVertexAlg::execute(const EventContext &ctx) const
             }
         }
         if (stationMap.count(1) == 0 || stationMap.count(2) == 0 || stationMap.count(3) == 0) continue;
-        //int nLayers = std::count_if(layerMap.begin(), layerMap.end(), [](std::pair<int,int> p){return p.first != 0;});
-        //int nLayersIFT = std::count_if(layerMap.begin(), layerMap.end(), [](std::pair<int,int> p){return p.first == 0;});
         const Trk::TrackParameters* upstreamParameters = trk->trackParameters()->front();
         const Trk::TrackParameters* downstreamParameters = trk->trackParameters()->back();
 
@@ -333,72 +305,6 @@ StatusCode PairVertexAlg::execute(const EventContext &ctx) const
         m_vertexPos[2]=v->position().z();
         break;
     }
-
-
-    //     if (positive != nullptr && negative != nullptr){
-    //     if (charge > 0 || momentum.mag() > positive->momentum().mag())
-    //     {
-    //         positive = upstream;
-    //     }
-    //     else if (charge < 0 || momentum.mag() > negative->momentum().mag())
-    //     {
-    //         negative = upstream;
-    //     }
-    //     }
-    //}
-
-    // if (positive != nullptr) m_numberOfPositiveTracks++;
-    // if (negative != nullptr) m_numberOfNegativeTracks++;
-
-    // if (positive != nullptr && negative != nullptr) m_numberOfOppositeSignPairs++;
-
-    // for (const HepMC::GenParticle* particle : mcEvents->front()->particle_range()) 
-    // {
-    //     if ((std::abs(particle->pdg_id()) != 13)) continue;
-    //     const HepMC::FourVector& vertex = particle->production_vertex()->position();
-    //     if (vertex.z() > 0) continue;
-    //     const HepMC::FourVector& momentum = particle->momentum();
-    //     double phi = momentum.phi();
-    //     double theta = momentum.theta();
-    //     double charge = particle->pdg_id() > 0 ? -1 : 1;
-    //     double abs_momentum = momentum.rho() * m_MeV2GeV;
-    //     double qop = charge / abs_momentum;
-    //     // The coordinate system of the Acts::PlaneSurface is defined as
-    //     // T = Z = normal, U = X x T = -Y, V = T x U = x
-    // //    Acts::BoundVector pars;
-    // //    pars << -vertex.y(), vertex.x(), phi, theta, qop, vertex.t();
-    //     Acts::BoundVector pars = Acts::BoundVector::Zero();
-    //     pars[Acts::eBoundLoc0] = -vertex.y();
-    //     pars[Acts::eBoundLoc1] = vertex.x();
-    //     pars[Acts::eBoundPhi] = phi;
-    //     pars[Acts::eBoundTheta] = theta;
-    //     pars[Acts::eBoundQOverP] = qop;
-    //     pars[Acts::eBoundTime] = vertex.t();
-
-    //     auto startSurface = Acts::Surface::makeShared<Acts::PlaneSurface>(
-    //         Acts::Vector3(0, 0, vertex.z()), Acts::Vector3(0, 0, 1));
-    //     double z_mean = (vertex.z()+1)/2;
-    //     auto targetSurface = Acts::Surface::makeShared<Acts::PlaneSurface>(
-    //         Acts::Vector3(0, 0, z_mean), Acts::Vector3(0, 0, 1));
-    //     Acts::BoundTrackParameters startParameters(
-    //         std::move(startSurface), pars, charge);
-    //     ATH_MSG_DEBUG("vertex: " << vertex.x() << ", " << vertex.y() << ", " << vertex.z());
-    //     ATH_MSG_DEBUG("vertex momentum: " << momentum.x() * m_MeV2GeV << ", " << momentum.y() * m_MeV2GeV << ", " << momentum.z() * m_MeV2GeV);
-    //     std::unique_ptr<const Acts::BoundTrackParameters> targetParameters =
-    //         m_extrapolationTool->propagate(ctx, startParameters, *targetSurface);
-    //     if (targetParameters) 
-    //     {
-    //         m_vertexPos[0]=vertex.x();
-    //         m_vertexPos[1]=vertex.y();
-    //         m_vertexPos[2]=vertex.z();
-    //         Acts::Vector3 targetPosition = targetParameters->position(gctx);
-    //         Acts::Vector3 targetMomentum = targetParameters->momentum();
-    //         ATH_MSG_DEBUG("vertex: " << vertex.x() << ", " << vertex.y() << ", " << vertex.z());
-    //         ATH_MSG_DEBUG("origin: " << targetPosition.x() << ", " << targetPosition.y() << ", " << targetPosition.z());
-    //         ATH_MSG_DEBUG("vertex momentum: " << momentum.x() * m_MeV2GeV << ", " << momentum.y() * m_MeV2GeV << ", " << momentum.z() * m_MeV2GeV);
-    //         ATH_MSG_DEBUG("origin momentum: " << targetMomentum.x() << ", " << targetMomentum.y() << ", " << targetMomentum.z());
-    //     }
-    // }
     
 
     m_tree->Fill();
diff --git a/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.h b/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.h
index 87fccc64..d0700d3a 100644
--- a/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.h
+++ b/Tracker/TrackerRecAlgs/PairVertex/src/PairVertexAlg.h
@@ -7,7 +7,6 @@ Copyright (C) 2022 CERN for the benefit of the FASER collaboration
 
 #include "GeoPrimitives/GeoPrimitives.h"
 #include "AthenaBaseComps/AthReentrantAlgorithm.h"
-//#include "FaserActsGeometryInterfaces/IFaserActsExtrapolationTool.h"
 #include "GeneratorObjects/McEventCollection.h"
 #include "TrkTrack/TrackCollection.h"
 #include "xAODFaserWaveform/WaveformHit.h"
@@ -48,7 +47,6 @@ namespace Tracker
         virtual StatusCode finalize() override;
         const ServiceHandle <ITHistSvc> &histSvc() const;
         
-
     private:
 
         void clearTree() const;
@@ -67,13 +65,9 @@ namespace Tracker
         const TriggerID*   m_triggerHelper;
         const PreshowerID* m_preshowerHelper;
         const EcalID*      m_ecalHelper;
-
-
-
         
         const TrackerDD::SCT_DetectorManager* m_detMgr {nullptr};
         SG::ReadHandleKey<McEventCollection> m_mcEventCollectionKey { this, "McEventCollection", "TruthEvent" };
-
         SG::ReadHandleKey<TrackCollection> m_trackCollectionKey { this, "TrackCollection", "CKFTrackCollection" };
         SG::ReadHandleKey<xAOD::WaveformHitContainer> m_vetoNuContainer { this, "VetoNuContainer", "VetoNuWaveformHits", "VetoNu hit container name" };
         SG::ReadHandleKey<xAOD::WaveformHitContainer> m_vetoContainer { this, "VetoContainer", "VetoWaveformHits", "Veto hit container name" };
@@ -81,8 +75,6 @@ namespace Tracker
         SG::ReadHandleKey<xAOD::WaveformHitContainer> m_preshowerContainer { this, "PreshowerContainer", "PreshowerWaveformHits", "Preshower hit container name" };
         SG::ReadHandleKey<xAOD::WaveformHitContainer> m_ecalContainer { this, "EcalContainer", "CaloWaveformHits", "Ecal hit container name" };
 
-        //ToolHandle<IFaserActsExtrapolationTool> m_extrapolationTool { this, "ExtrapolationTool", "FaserActsExtrapolationTool" };
-
         mutable std::atomic<size_t> m_numberOfEvents{0};
         mutable std::atomic<size_t> m_numberOfPositiveTracks{0};
         mutable std::atomic<size_t> m_numberOfNegativeTracks{0};
@@ -145,9 +137,8 @@ namespace Tracker
         mutable std::vector<double> m_vertexPos = {-1,-1,-1};
 
     };
-     inline const ServiceHandle<ITHistSvc>& PairVertexAlg::histSvc() const {
-  return m_histSvc;
-    }
+    
+    inline const ServiceHandle<ITHistSvc>& PairVertexAlg::histSvc() const {return m_histSvc;}
 
     }
 
-- 
GitLab