From 7cc04eb38ec83a2f9e70570a85e721c47feca354 Mon Sep 17 00:00:00 2001 From: Zhang Yao <zhangyao@ihep.ac.cn> Date: Mon, 18 Jan 2021 18:25:59 +0800 Subject: [PATCH] Remove CRD fitting related files --- .../compact/CRD_o1_v01/CRD_o1_v01_noECAL.xml | 51 ---- Examples/options/sim_fit_CRD.py | 278 ------------------ .../RecGenfitAlg/src/RecGenfitAlgSDT.h | 192 ------------ 3 files changed, 521 deletions(-) delete mode 100644 Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01_noECAL.xml delete mode 100644 Examples/options/sim_fit_CRD.py delete mode 100644 Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.h diff --git a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01_noECAL.xml b/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01_noECAL.xml deleted file mode 100644 index 256dcf00..00000000 --- a/Detector/DetCRD/compact/CRD_o1_v01/CRD_o1_v01_noECAL.xml +++ /dev/null @@ -1,51 +0,0 @@ -<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd"> - <info name="CRD_i1_v01" - title="CepC reference detctor with coil inside Hcal" - author="C.D.Fu, " - url="http://cepc.ihep.ac.cn" - status="developing" - version="v01"> - <comment>CepC reference detector simulation models used for detector study </comment> - </info> - - <includes> - <gdmlFile ref="${DD4hepINSTALL}/DDDetectors/compact/elements.xml"/> - <gdmlFile ref="../CRD_common_v01/materials.xml"/> - </includes> - - <define> - <constant name="world_size" value="2.6*m"/> - <constant name="world_x" value="world_size"/> - <constant name="world_y" value="world_size"/> - <constant name="world_z" value="world_size"/> - - <include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml"/> - </define> - - <include ref="./CRD_Dimensions_v01_01.xml"/> - - <include ref="../CRD_common_v01/Beampipe_v01_01.xml"/> - <include ref="../CRD_common_v01/VXD_v01_01.xml"/> - <include ref="../CRD_common_v01/FTD_SimpleStaggered_v01_01.xml"/> - <include ref="../CRD_common_v01/SIT_SimplePlanar_v01_01.xml"/> - <include ref="../CRD_common_v01/DC_Simple_v01_01.xml"/> - <include ref="../CRD_common_v01/SET_SimplePlanar_v01_01.xml"/> - <!-- <include ref="../CRD_common_v01/Ecal_Crystal_Barrel_v01_01.xml"/> --> - <!--include ref="../CRD_common_v01/Ecal_Crystal_Endcap_v01_01.xml"/--> - <!--include ref="../CRD_common_v01/Coil_v01_01.xml"/--> - <!--include ref="../CRD_common_v01/Hcal_v01_01.xml"/--> - <!--include ref="../CRD_common_v01/Yoke_v01_01.xml"/--> - <!--include ref="../CRD_common_v01/Lcal_v01_01.xml"/--> - - <fields> - <field name="GlobalSolenoid" type="solenoid" - inner_field="Field_nominal_value" - outer_field="Field_outer_nominal_value" - zmax="SolenoidCoil_half_length" - outer_radius="SolenoidCoil_center_radius"> - </field> - </fields> - -</lccdd> diff --git a/Examples/options/sim_fit_CRD.py b/Examples/options/sim_fit_CRD.py deleted file mode 100644 index e877aeb4..00000000 --- a/Examples/options/sim_fit_CRD.py +++ /dev/null @@ -1,278 +0,0 @@ -#!/usr/bin/env python -from Gaudi.Configuration import * - -############################################################################## -# Event service -############################################################################## -from Configurables import k4DataSvc -dsvc = k4DataSvc("EventDataSvc") - -############################################################################## -# Random seed -############################################################################## -from Configurables import RndmGenSvc, HepRndm__Engine_CLHEP__RanluxEngine_ -# rndmengine = HepRndm__Engine_CLHEP__RanluxEngine_() # The default engine in Gaudi -rndmengine = HepRndm__Engine_CLHEP__HepJamesRandom_() # The default engine in Geant4 -rndmengine.SetSingleton = True -rndmengine.Seeds = [10] - -from Configurables import MarlinEvtSeeder -evtseeder = MarlinEvtSeeder("EventSeeder") - -############################################################################## -# Detector geometry -############################################################################## -geometry_option = "CRD_o1_v01/CRD_o1_v01_noECAL.xml" - -if not os.getenv("DETCRDROOT"): - print("Can't find the geometry. Please setup envvar DETCRDROOT." ) - sys.exit(-1) - -geometry_path = os.path.join(os.getenv("DETCRDROOT"), "compact", geometry_option) -if not os.path.exists(geometry_path): - print("Can't find the compact geometry file: %s"%geometry_path) - sys.exit(-1) - -from Configurables import GeomSvc -geosvc = GeomSvc("GeomSvc") -geosvc.compact = geometry_path - -from Configurables import GearSvc -gearsvc = GearSvc("GearSvc") - -############################################################################## -# Physics Generator -############################################################################## -from Configurables import GenAlgo -from Configurables import GtGunTool -from Configurables import StdHepRdr -from Configurables import SLCIORdr -from Configurables import HepMCRdr -from Configurables import GenPrinter -gun = GtGunTool("GtGunTool") -gun.Particles = ["mu-"] -gun.EnergyMins = [100.] # GeV -gun.EnergyMaxs = [100.] # GeV -gun.ThetaMins = [0] # deg -gun.ThetaMaxs = [180] # deg -gun.PhiMins = [0] # deg -gun.PhiMaxs = [360] # deg -# stdheprdr = StdHepRdr("StdHepRdr") -# stdheprdr.Input = "/cefs/data/stdhep/CEPC250/2fermions/E250.Pbhabha.e0.p0.whizard195/bhabha.e0.p0.00001.stdhep" -# lciordr = SLCIORdr("SLCIORdr") -# lciordr.Input = "/cefs/data/stdhep/lcio250/signal/Higgs/E250.Pbbh.whizard195/E250.Pbbh_X.e0.p0.whizard195/Pbbh_X.e0.p0.00001.slcio" -# hepmcrdr = HepMCRdr("HepMCRdr") -# hepmcrdr.Input = "example_UsingIterators.txt" - -genprinter = GenPrinter("GenPrinter") - -genalg = GenAlgo("GenAlgo") -genalg.GenTools = ["GtGunTool"] -#genalg.GenTools = ["StdHepRdr"] -# genalg.GenTools = ["StdHepRdr", "GenPrinter"] -# genalg.GenTools = ["SLCIORdr", "GenPrinter"] -# genalg.GenTools = ["HepMCRdr", "GenPrinter"] - -############################################################################## -# Detector Simulation -############################################################################## -from Configurables import DetSimSvc -detsimsvc = DetSimSvc("DetSimSvc") - -from Configurables import DetSimAlg -detsimalg = DetSimAlg("DetSimAlg") -#detsimalg.VisMacs = ["vis.mac"] -detsimalg.RunCmds = [ -# "/tracking/verbose 1", -] -detsimalg.AnaElems = [ - # example_anatool.name() - # "ExampleAnaElemTool" - "Edm4hepWriterAnaElemTool" -] -detsimalg.RootDetElem = "WorldDetElemTool" - -from Configurables import AnExampleDetElemTool -example_dettool = AnExampleDetElemTool("AnExampleDetElemTool") - -from Configurables import CalorimeterSensDetTool -from Configurables import DriftChamberSensDetTool - -calo_sensdettool = CalorimeterSensDetTool("CalorimeterSensDetTool") -driftchamber_sensdettool = DriftChamberSensDetTool("DriftChamberSensDetTool") - -############################################################################## -# DedxSimTool -############################################################################## -# dedxoption = "DummyDedxSimTool" -dedxoption = "BetheBlochEquationDedxSimTool" - -driftchamber_sensdettool.DedxSimTool = dedxoption - -from Configurables import DummyDedxSimTool -from Configurables import BetheBlochEquationDedxSimTool - -if dedxoption == "DummyDedxSimTool": - dedx_simtool = DummyDedxSimTool("DummyDedxSimTool") -elif dedxoption == "BetheBlochEquationDedxSimTool": - dedx_simtool = BetheBlochEquationDedxSimTool("BetheBlochEquationDedxSimTool") - dedx_simtool.material_Z = 2 - dedx_simtool.material_A = 4 - dedx_simtool.scale = 10 - dedx_simtool.resolution = 0.0001 - -############################################################################## -# DCHDigiAlg -############################################################################## -from Configurables import DCHDigiAlg -dCHDigiAlg = DCHDigiAlg("DCHDigiAlg") -dCHDigiAlg.readout = "DriftChamberHitsCollection" -dCHDigiAlg.drift_velocity = 40#um/ns -dCHDigiAlg.mom_threshold = 0 #GeV -dCHDigiAlg.WriteAna = True - -############################################################################## -# PODIO -############################################################################## -from Configurables import PodioOutput -out = PodioOutput("outputalg") -out.filename = "CRD-o1-v01-sim00.root" -out.outputCommands = ["keep *"] - - -############################################################################## -# Silicon digitization -############################################################################## -vxdhitname = "VXDTrackerHits" -sithitname = "SITTrackerHits" -sitspname = "SITSpacePoints" -tpchitname = "TPCTrackerHits" -sethitname = "SETTrackerHits" -setspname = "SETSpacePoints" -ftdspname = "FTDSpacePoints" -ftdhitname = "FTDTrackerHits" -from Configurables import PlanarDigiAlg -digiVXD = PlanarDigiAlg("VXDDigi") -digiVXD.SimTrackHitCollection = "VXDCollection" -digiVXD.TrackerHitCollection = vxdhitname -digiVXD.ResolutionU = [0.0028, 0.006, 0.004, 0.004, 0.004, 0.004] -digiVXD.ResolutionV = [0.0028, 0.006, 0.004, 0.004, 0.004, 0.004] - -digiSIT = PlanarDigiAlg("SITDigi") -digiSIT.IsStrip = 1 -digiSIT.SimTrackHitCollection = "SITCollection" -digiSIT.TrackerHitCollection = sithitname -digiSIT.TrackerHitAssociationCollection = "SITTrackerHitAssociation" -digiSIT.ResolutionU = [0.007] -digiSIT.ResolutionV = [0.000] - -digiSET = PlanarDigiAlg("SETDigi") -digiSET.IsStrip = 1 -digiSET.SimTrackHitCollection = "SETCollection" -digiSET.TrackerHitCollection = sethitname -digiSET.TrackerHitAssociationCollection = "SETTrackerHitAssociation" -digiSET.ResolutionU = [0.007] -digiSET.ResolutionV = [0.000] - -digiFTD = PlanarDigiAlg("FTDDigi") -digiFTD.SimTrackHitCollection = "FTDCollection" -digiFTD.TrackerHitCollection = ftdhitname -digiFTD.TrackerHitAssociationCollection = "FTDTrackerHitAssociation" -digiFTD.ResolutionU = [0.003, 0.003, 0.007, 0.007, 0.007, 0.007, 0.007, 0.007] -digiFTD.ResolutionV = [0.003, 0.003, 0, 0, 0, 0, 0, 0 ] -#digiFTD.OutputLevel = DEBUG - -from Configurables import SpacePointBuilderAlg -spSIT = SpacePointBuilderAlg("SITBuilder") -spSIT.TrackerHitCollection = sithitname -spSIT.TrackerHitAssociationCollection = "SITTrackerHitAssociation" -spSIT.SpacePointCollection = sitspname -spSIT.SpacePointAssociationCollection = "SITSpacePointAssociation" -#spSIT.OutputLevel = DEBUG - -spFTD = SpacePointBuilderAlg("FTDBuilder") -spFTD.TrackerHitCollection = ftdhitname -spFTD.TrackerHitAssociationCollection = "FTDTrackerHitAssociation" -spFTD.SpacePointCollection = ftdspname -spFTD.SpacePointAssociationCollection = "FTDSpacePointAssociation" -#spFTD.OutputLevel = DEBUG - - -############################################################################## -# Silicon reconstruction -############################################################################## -from Configurables import TrackSystemSvc -tracksystemsvc = TrackSystemSvc("TrackSystemSvc") - -from Configurables import SiliconTrackingAlg -tracking = SiliconTrackingAlg("SiliconTracking") -tracking.HeaderCol = "EventHeader" -tracking.VTXHitCollection = vxdhitname -tracking.SITHitCollection = sitspname -tracking.FTDPixelHitCollection = ftdhitname -tracking.FTDSpacePointCollection = ftdspname -tracking.SITRawHitCollection = sithitname -tracking.FTDRawHitCollection = ftdhitname -tracking.UseSIT = 1 -tracking.SmoothOn = 0 -#tracking.OutputLevel = DEBUG - -from Configurables import ForwardTrackingAlg -forward = ForwardTrackingAlg("ForwardTracking") -forward.FTDPixelHitCollection = ftdhitname -forward.FTDSpacePointCollection = ftdspname -forward.FTDRawHitCollection = ftdhitname -forward.Chi2ProbCut = 0.0 -forward.HitsPerTrackMin = 3 -forward.BestSubsetFinder = "SubsetSimple" -forward.Criteria = ["Crit2_DeltaPhi","Crit2_StraightTrackRatio","Crit3_3DAngle","Crit3_ChangeRZRatio","Crit3_IPCircleDist","Crit4_3DAngleChange","Crit4_DistToExtrapolation", - "Crit2_DeltaRho","Crit2_RZRatio","Crit3_PT"] -forward.CriteriaMin = [0, 0.9, 0, 0.995, 0, 0.8, 0, 20, 1.002, 0.1, 0, 0.99, 0, 0.999, 0, 0.99, 0] -forward.CriteriaMax = [30, 1.02, 10, 1.015, 20, 1.3, 1.0, 150, 1.08, 99999999, 0.8, 1.01, 0.35, 1.001, 1.5, 1.01, 0.05] -#forward.OutputLevel = DEBUG - -from Configurables import TrackSubsetAlg -subset = TrackSubsetAlg("TrackSubset") -subset.TrackInputCollections = ["ForwardTracks", "SiTracks"] -subset.RawTrackerHitCollections = [vxdhitname, sithitname, ftdhitname, sitspname, ftdspname] -subset.TrackSubsetCollection = "SubsetTracks" -#subset.OutputLevel = DEBUG - -############################################################################## -# TruthTrackerAlg -############################################################################## -from Configurables import TruthTrackerAlg -truthTrackerAlg = TruthTrackerAlg("TruthTrackerAlg") -truthTrackerAlg.SiSubsetTrackCollection = "SubsetTracks" - -############################################################################## -# RecGenfitAlgSDT -############################################################################## -from Configurables import RecGenfitAlgSDT -recGenfitAlgSDT = RecGenfitAlgSDT("RecGenfitAlgSDT") -recGenfitAlgSDT.debug=10 - -############################################################################## -# NTupleSvc -############################################################################## -from Configurables import NTupleSvc -ntsvc = NTupleSvc("NTupleSvc") -ntsvc.Output = [ -#"MyTuples DATAFILE='DCH_digi_ana.root' OPT='NEW' TYP='ROOT'", - "RecGenfitAlgSDT DATAFILE='fit_SDT.root' OPT='NEW' TYP='ROOT'"] - - -############################################################################## -# ApplicationMgr -############################################################################## -from Configurables import ApplicationMgr -ApplicationMgr( - TopAlg = [genalg, detsimalg, digiVXD, digiSIT, digiSET, digiFTD, spSIT, - spFTD, tracking, forward, subset, dCHDigiAlg, truthTrackerAlg, - recGenfitAlgSDT, out], - EvtSel = 'NONE', - EvtMax = 1, - ExtSvc = [rndmengine, dsvc, ntsvc, evtseeder, geosvc, gearsvc, tracksystemsvc], - HistogramPersistency = "ROOT", - OutputLevel=DEBUG -) diff --git a/Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.h b/Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.h deleted file mode 100644 index 1a1031e1..00000000 --- a/Reconstruction/RecGenfitAlg/src/RecGenfitAlgSDT.h +++ /dev/null @@ -1,192 +0,0 @@ -////////////////////////////////////////////////////////////////////// -/// -/// This is an algorithm for track fitting for CEPC track with genfit. -/// -/// In this file, including: -/// An algorithm for combined silicon and drift chamber track fitting -/// with genfit for 5 particle hypothesis -/// -/// Units are following DD4hepUnits -/// -/// Authors: -/// Yao ZHANG(zhangyao@ihep.ac.cn) -/// -///////////////////////////////////////////////////////////////////// - -#ifndef RECGENFITALG_RECGENFITALGSDT_H -#define RECGENFITALG_RECGENFITALGSDT_H - -#include "GaudiAlg/GaudiAlgorithm.h" -#include "GaudiKernel/NTuple.h" -#include "k4FWCore/DataHandle.h" -#include "DD4hep/Fields.h" -#include <string> - -class GenfitFitter; -class GenfitField; -class GenfitTrack; -class IGeomSvc; -class time; -namespace genfit{ - class EventDisplay; -} -namespace dd4hep { - class Detector; - //class rec::CellIDPositionConverter; - namespace DDSegmentation{ - class GridDriftChamber; - class BitFieldCoder; - } -} -namespace edm4hep{ - class EventHeaderCollection; - class MCParticleCollection; - class SimTrackerHitCollection; - class TrackCollection; - class TrackerHitCollection; - class MCRecoTrackerAssociationCollection; - class ReconstructedParticle; - class ReconstructedParticleCollection; -} - -///////////////////////////////////////////////////////////////////////////// - -class RecGenfitAlgSDT:public GaudiAlgorithm { - public: - RecGenfitAlgSDT (const std::string& name, ISvcLocator* pSvcLocator); - StatusCode initialize() override; StatusCode execute() override; StatusCode finalize() override; - - private: - GenfitFitter* m_genfitFitter;//The pointer to a GenfitFitter - const GenfitField* m_genfitField;//The pointer to a GenfitField - - void debugTrack(int pidType,const GenfitTrack* genfitTrack); - void debugEvent(); - - DataHandle<edm4hep::EventHeaderCollection> m_headerCol{ - "EventHeaderCol", Gaudi::DataHandle::Reader, this}; - //Drift chamber rec hit and trac - DataHandle<edm4hep::TrackerHitCollection> m_DCDigiCol{ - "DigiDCHitCollection", Gaudi::DataHandle::Reader, this}; - DataHandle<edm4hep::SimTrackerHitCollection> m_DCSimHitCol{ - "DCSimHitsCollection", Gaudi::DataHandle::Reader, this}; - DataHandle<edm4hep::TrackCollection> m_DCTrackCol{ - "DCTrackCollection", Gaudi::DataHandle::Reader, this}; - //Mc truth - DataHandle<edm4hep::MCParticleCollection> m_mcParticleCol{ - "MCParticle", Gaudi::DataHandle::Reader, this}; - DataHandle<edm4hep::SimTrackerHitCollection> m_simDCHitCol{ - "DriftChamberHitsCollection" , Gaudi::DataHandle::Reader, this}; - DataHandle<edm4hep::MCRecoTrackerAssociationCollection> - m_DCHitAssociationCol{"DCHitAssociationCollection", - Gaudi::DataHandle::Reader, this}; - - //Track from silicon detectors - DataHandle<edm4hep::TrackCollection> m_SDTTrackCol{"SDTTrackCollection", - Gaudi::DataHandle::Reader, this}; - - //Output hits and particles - DataHandle<edm4hep::ReconstructedParticleCollection> m_SDTRecParticleCol{ - "SDTRecParticleCollection", Gaudi::DataHandle::Writer, this}; - - const unsigned int m_nPDG;//5:e,mu,pi,K,proton - SmartIF<IGeomSvc> m_geomSvc; - dd4hep::OverlayedField m_dd4hepField; - dd4hep::Detector* m_dd4hep; - dd4hep::DDSegmentation::GridDriftChamber* m_gridDriftChamber; - dd4hep::DDSegmentation::BitFieldCoder* m_decoder; - Gaudi::Property<std::string> m_readout_name{this, - "readout", "DriftChamberHitsCollection"}; - Gaudi::Property<int> m_debug{this,"debug",0}; - Gaudi::Property<float> m_sigmaHit{this,"sigmaHit",0.11};//mm - Gaudi::Property<float> m_nSigmaHit{this,"nSigmaHit",5}; - Gaudi::Property<double> m_initCovResPos{this,"initCovResPos",1}; - Gaudi::Property<double> m_initCovResMom{this,"initCovResMom",0.1}; - //Fitter type default is DAFRef. - //Candidates are DAF,DAFRef,KalmanFitter and KalmanFitterRefTrack. - Gaudi::Property<std::string> m_fitterType{this,"fitterTyep","DAFRef"}; - Gaudi::Property<bool> m_correctBremsstrahlung{this, - "correctBremsstrahlung",false}; - Gaudi::Property<bool> m_noMaterialEffects{this, - "noMaterialEffects",false}; - Gaudi::Property<int> m_maxIteration{this,"maxIteration",20}; - Gaudi::Property<int> m_resortHits{this,"resortHits",true}; - Gaudi::Property<double> m_bStart{this,"bStart",100}; - Gaudi::Property<double> m_bFinal{this,"bFinal",0.01}; - Gaudi::Property<double> m_DCCornerCuts{this,"dcCornerCuts",-999}; - Gaudi::Property<double> m_ndfCut{this,"ndfCut",1}; - Gaudi::Property<double> m_chi2Cut{this,"chi2Cut",1000}; - //-1,chargedGeantino;0,1,2,3,4:e,mu,pi,K,proton - Gaudi::Property<int> m_debugPid{this,"debugPid",-99}; - Gaudi::Property<bool> m_useTruthTrack{this,"useTruthTrack",true}; - Gaudi::Property<bool> m_useTruthHit{this,"useTruthHit",true}; - Gaudi::Property<std::string> m_genfitHistRootName{this, - "genfitHistRootName",""}; - Gaudi::Property<bool> m_showDisplay{this,"showDisplay",false}; - int m_fitSuccess[5]; - int m_nRecTrack; - //bool m_useRecLRAmbig; - - genfit::EventDisplay* m_genfitDisplay; - clock_t m_timer; - - /// tuples - NTuple::Tuple* m_tuple; - NTuple::Item<int> m_run; - NTuple::Item<int> m_evt; - NTuple::Item<int> m_tkId; - NTuple::Item<int> m_mcIndex;//number of navigated mcParicle - NTuple::Matrix<double> m_truthPocaMc;//2 dim matched particle and 3 pos. - NTuple::Matrix<double> m_pocaPosMc;//2 dim matched particle and 3 pos. - NTuple::Matrix<double> m_pocaMomMc;//2 dim matched particle and 3 mom. - NTuple::Array<double> m_pocaMomMcP;//2 dim matched particle and p - NTuple::Array<double> m_pocaMomMcPt;//2 dim matched particle and pt - NTuple::Array<double> m_pocaPosMdc;//pos 0:x,1:y,2:z - NTuple::Array<double> m_pocaMomMdc;//mom. 0:px,1:py,2:pz - NTuple::Item<int> m_pidIndex; - NTuple::Matrix<double> m_firstPosKal;//5 hyposis and pos. at first - NTuple::Array<double> m_firstMomKalP;//5 hyposis and mom. at first - NTuple::Array<double> m_firstMomKalPt;//5 hyposis and mom. at first - NTuple::Matrix<double> m_pocaPosKal;//5 hyposis and 3 mom. - NTuple::Matrix<double> m_pocaMomKal;//5 hyposis and 3 mom. - NTuple::Array<double> m_pocaMomKalP;//5 hyposis and p - NTuple::Array<double> m_pocaMomKalPt;//5 hyposis and pt - NTuple::Array<int> m_chargeKal; - NTuple::Array<double> m_chi2Kal; - NTuple::Array<double> m_nDofKal; - NTuple::Array<int> m_isFitConverged; - NTuple::Array<int> m_isFitConvergedFully; - NTuple::Array<int> m_isFitted; - NTuple::Item<int> m_nDigi; - NTuple::Item<int> m_nHitMc; - NTuple::Item<int> m_nSimDCHit; - NTuple::Array<int> m_nHitWithFitInfo; - NTuple::Item<int> m_nHitKalInput; - NTuple::Array<double> m_mdcHitDriftT; - NTuple::Array<double> m_mdcHitDriftDl; - NTuple::Array<double> m_mdcHitDriftDr; - NTuple::Array<int> m_mdcHitLr; - NTuple::Array<int> m_mdcHitLayer; - NTuple::Array<int> m_mdcHitWire; - NTuple::Array<double> m_mdcHitExpDoca; - NTuple::Array<double> m_mdcHitExpMcDoca; - NTuple::Array<double> m_mdcHitErr; - NTuple::Array<int> m_nHitFailedKal; - NTuple::Array<int> m_nHitFitted; - NTuple::Array<double> m_time; - //truth - NTuple::Array<int> m_mdcHitMcLr; - NTuple::Array<int> m_mdcHitMcTkId; - NTuple::Array<double> m_mdcHitMcDrift; - NTuple::Array<double> m_mdcHitMcX; - NTuple::Array<double> m_mdcHitMcY; - NTuple::Array<double> m_mdcHitMcZ; - NTuple::Array<double> m_mdcHitExpMcPocaX; - NTuple::Array<double> m_mdcHitExpMcPocaY; - NTuple::Array<double> m_mdcHitExpMcPocaZ; - NTuple::Array<double> m_mdcHitExpMcPocaWireX; - NTuple::Array<double> m_mdcHitExpMcPocaWireY; - NTuple::Array<double> m_mdcHitExpMcPocaWireZ; - -}; -#endif -- GitLab