1#include "GaudiKernel/Algorithm.h"
2#include "GaudiKernel/NTuple.h"
3#include "GaudiKernel/INTupleSvc.h"
4#include "MdcCalibFunSvc/MdcCalibFunSvc.h"
5#include "CgemCalibFunSvc/CgemCalibFunSvc.h"
6#include "CgemGeomSvc/CgemGeomSvc.h"
7#include "TrkFitter/TrkContextEv.h"
8#include "MdcGeom/MdcDetector.h"
9#include "MdcRecEvent/RecMdcTrack.h"
10#include "MdcTrkRecon/MdcTrack.h"
11#include "MdcTrkRecon/MdcTrackList.h"
31 StatusCode bookTuple();
42 std::string m_evtFile;
46 double m_qualityFactor;
47 double m_dropTrkDrCut;
48 double m_dropTrkDzCut;
49 double m_dropTrkNhitCut;
50 double m_dropTrkChi2Cut;
51 double m_dropTrkChi2NdfCut;
59 vector<MdcHit*> mdcHitCol;
65 double t_costhetaMC[10];
77 NTuple::Tuple* ntuple_evt;
78 NTuple::Item<int> m_run;
79 NTuple::Item<int> m_event;
80 NTuple::Item<int> m_nTrkRec;
81 NTuple::Array<int> m_trkidRec;
82 NTuple::Array<double> m_drRec ;
83 NTuple::Array<double> m_phi0Rec ;
84 NTuple::Array<double> m_kappaRec;
85 NTuple::Array<double> m_dzRec ;
86 NTuple::Array<double> m_tanlRec ;
87 NTuple::Array<int> m_chargeRec ;
88 NTuple::Array<int> m_statRec ;
89 NTuple::Array<int> m_nhitsRec ;
90 NTuple::Array<int> m_nclusterRec;
91 NTuple::Array<int> m_nsterRec ;
92 NTuple::Array<int> m_ndofRec ;
93 NTuple::Array<double> m_chi2Rec ;
94 NTuple::Array<double> m_pxRec ;
95 NTuple::Array<double> m_pyRec ;
96 NTuple::Array<double> m_pzRec ;
97 NTuple::Array<double> m_pxyRec ;
98 NTuple::Array<double> m_pRec ;
99 NTuple::Array<double> m_xRec ;
100 NTuple::Array<double> m_yRec ;
101 NTuple::Array<double> m_zRec ;
102 NTuple::Array<double> m_rRec ;
103 NTuple::Array<double> m_thetaRec ;
104 NTuple::Array<double> m_phiRec ;
105 NTuple::Array<double> m_fiTermRec ;
108 NTuple::Item<int> m_nTrkFit;
109 NTuple::Array<int> m_trkidFit;
110 NTuple::Array<double> m_drFit ;
111 NTuple::Array<double> m_phi0Fit ;
112 NTuple::Array<double> m_kappaFit;
113 NTuple::Array<double> m_dzFit ;
114 NTuple::Array<double> m_tanlFit ;
115 NTuple::Array<int> m_chargeFit ;
116 NTuple::Array<int> m_statFit ;
117 NTuple::Array<int> m_nhitsFit ;
118 NTuple::Array<int> m_nclusterFit;
119 NTuple::Array<int> m_nsterFit ;
120 NTuple::Array<int> m_ndofFit ;
121 NTuple::Array<double> m_chi2Fit ;
122 NTuple::Array<double> m_pxFit ;
123 NTuple::Array<double> m_pyFit ;
124 NTuple::Array<double> m_pzFit ;
125 NTuple::Array<double> m_pxyFit ;
126 NTuple::Array<double> m_pFit ;
127 NTuple::Array<double> m_xFit ;
128 NTuple::Array<double> m_yFit ;
129 NTuple::Array<double> m_zFit ;
130 NTuple::Array<double> m_rFit ;
131 NTuple::Array<double> m_thetaFit ;
132 NTuple::Array<double> m_phiFit ;
133 NTuple::Array<double> m_fiTermFit ;
136 NTuple::Item<int> m_nTrkMC;
137 NTuple::Array<int> m_trkidMC;
138 NTuple::Array<double> m_drMC ;
139 NTuple::Array<double> m_phi0MC ;
140 NTuple::Array<double> m_kappaMC;
141 NTuple::Array<double> m_dzMC ;
142 NTuple::Array<double> m_tanlMC ;
143 NTuple::Array<double> m_qMC ;
144 NTuple::Array<double> m_costhetaMC ;
145 NTuple::Array<double> m_phiMC ;
146 NTuple::Array<double> m_vzMC ;
147 NTuple::Array<double> m_vrMC ;
148 NTuple::Array<double> m_pxMC ;
149 NTuple::Array<double> m_pyMC ;
150 NTuple::Array<double> m_pzMC ;
151 NTuple::Array<double> m_ptMC ;
152 NTuple::Array<double> m_pMC ;
ObjectVector< RecMdcHit > RecMdcHitCol
ObjectVector< RecMdcTrack > RecMdcTrackCol
CgemMdcFitAlg(const std::string &name, ISvcLocator *pSvcLocator)
void updateTracks(int trackId, TrkRecoTrk *trkRecoTrk, RecMdcTrack *recMdcTrack, int trkStat)
void compareTracks(MdcTrackList &mdcTrackList, double dzCut)
TrkErrCode check(TrkRecoTrk *trkRecoTrk, TrackType trackType)
TrkErrCode fit(RecMdcTrack *recMdcTrack, TrkRecoTrk *trkRecoTrk, TrackType trackType)