From f65db69923e45779cd7bd84de28520c5b26a4b4a Mon Sep 17 00:00:00 2001
From: myliu <201916234@mail.sdu.edu.cn>
Date: Thu, 24 Dec 2020 09:28:24 +0800
Subject: [PATCH] DCHDigi

---
 Digitisers/DCHDigi/src/DCHDigiAlg.cpp | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/Digitisers/DCHDigi/src/DCHDigiAlg.cpp b/Digitisers/DCHDigi/src/DCHDigiAlg.cpp
index d7c2949b..53c49fc0 100644
--- a/Digitisers/DCHDigi/src/DCHDigiAlg.cpp
+++ b/Digitisers/DCHDigi/src/DCHDigiAlg.cpp
@@ -8,6 +8,7 @@
 
 #include "DD4hep/Detector.h"
 #include <DD4hep/Objects.h>
+#include "DD4hep/DD4hepUnits.h"
 #include "DDRec/Vector3D.h"
 
 #include "GaudiKernel/INTupleSvc.h"
@@ -109,9 +110,10 @@ StatusCode DCHDigiAlg::execute()
           id_hits_map[id] = vhit ;
       }
   }
-
-  m_n_sim = 0;
-  m_n_digi = 0 ;
+  if(m_WriteAna){
+      m_n_sim = 0;
+      m_n_digi = 0 ;
+  }
   for(std::map<unsigned long long, std::vector<edm4hep::SimTrackerHit> >::iterator iter = id_hits_map.begin(); iter != id_hits_map.end(); iter++)
   {
     unsigned long long wcellid = iter->first;
@@ -133,8 +135,10 @@ StatusCode DCHDigiAlg::execute()
     TVector3 Wstart(0,0,0);
     TVector3 Wend  (0,0,0);
     m_segmentation->cellposition(wcellid, Wstart, Wend);
-    Wstart = 10*Wstart;// from DD4HEP cm to mm
-    Wend   = 10*Wend  ;
+    float dd4hep_mm = dd4hep::mm;
+    //std::cout<<"dd4hep_mm="<<dd4hep_mm<<std::endl;
+    Wstart =(1/dd4hep_mm)* Wstart;// from DD4HEP cm to mm
+    Wend   =(1/dd4hep_mm)* Wend  ;
     //std::cout<<"wcellid="<<wcellid<<",chamber="<<chamber<<",layer="<<layer<<",cellID="<<cellID<<",s_x="<<Wstart.x()<<",s_y="<<Wstart.y()<<",s_z="<<Wstart.z()<<",E_x="<<Wend.x()<<",E_y="<<Wend.y()<<",E_z="<<Wend.z()<<std::endl;
 
     TVector3  denominator = (Wend-Wstart) ;
@@ -209,3 +213,4 @@ StatusCode DCHDigiAlg::finalize()
   info() << "Processed " << _nEvt << " events " << endmsg;
   return GaudiAlgorithm::finalize();
 }
+
-- 
GitLab