BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/MdcTrkRecon/include/MdcTrkRecon/MdcHistItem.h
Go to the documentation of this file.
1//
2// Description: class for ntuple items
3//
4
5#ifndef MDCHISTITEM_H
6#define MDCHISTITEM_H
7
8#include "AIDA/IHistogram1D.h"
9#include "AIDA/IHistogram2D.h"
10#include "GaudiKernel/Algorithm.h"
11#include "GaudiKernel/NTuple.h"
12
13// histograms
14// extern AIDA::IHistogram1D* g_actHit;
15// extern AIDA::IHistogram1D* g_hitEff;
16extern AIDA::IHistogram2D* g_residVsLayer;
17extern AIDA::IHistogram2D* g_residVsDoca;
18extern AIDA::IHistogram1D* h_mapHit;
19extern AIDA::IHistogram1D* h_sfHit;
20
21//-----------cut--------------
22// extern AIDA::IHistogram1D* g_segChi2;
23// extern AIDA::IHistogram1D* g_segChi2SlayPat3[43];
24// extern AIDA::IHistogram1D* g_segChi2SlayPat4[43];
25extern AIDA::IHistogram1D* g_maxSegChisqAx;
26extern AIDA::IHistogram1D* g_maxSegChisqSt;
27extern AIDA::IHistogram1D* g_nSigAdd;
28extern AIDA::IHistogram1D* g_cirTkChi2;
29extern AIDA::IHistogram1D* g_z0Cut;
30extern AIDA::IHistogram1D* g_ctCut;
31extern AIDA::IHistogram1D* g_delCt;
32extern AIDA::IHistogram1D* g_delZ0;
33extern AIDA::IHistogram1D* g_delPhi;
34extern AIDA::IHistogram1D* g_delSlope;
35extern AIDA::IHistogram1D* g_combChi2;
36extern AIDA::IHistogram1D* g_phiDiff;
37extern AIDA::IHistogram1D* g_slopeDiff;
38extern AIDA::IHistogram1D* g_fitNAct;
39extern AIDA::IHistogram1D* g_3dTkChi2;
40extern AIDA::IHistogram1D* g_pickHitWire;
41
42// tuple of MdcTrkRecon
43extern NTuple::Tuple* m_tupleMc;
44extern NTuple::Tuple* m_tupleMcHit;
45extern NTuple::Tuple* m_tuple1;
46extern NTuple::Tuple* m_tupleSeg;
47extern NTuple::Tuple* m_tupleEvt;
48// tuple item of mc truth
49extern NTuple::Item<double> m_tMcEvtNo;
50extern NTuple::Item<long> m_tMcNTk;
51extern NTuple::Item<long> m_tMcTkId;
52extern NTuple::Item<long> m_tMcPid;
53extern NTuple::Item<double> m_tMcPx;
54extern NTuple::Item<double> m_tMcPy;
55extern NTuple::Item<double> m_tMcPz;
56extern NTuple::Item<double> m_tMcD0;
57extern NTuple::Item<double> m_tMcZ0;
58extern NTuple::Item<double> m_tMcTheta;
59extern NTuple::Item<double> m_tMcFiTerm;
60extern NTuple::Item<long> m_tMcNHit;
61extern NTuple::Array<double> m_tMcLayer;
62extern NTuple::Array<double> m_tMcWire;
63extern NTuple::Array<double> m_tMcDrift;
64extern NTuple::Array<double> m_tMcX;
65extern NTuple::Array<double> m_tMcY;
66extern NTuple::Array<double> m_tMcZ;
67extern NTuple::Array<double> m_tMcLR;
68
69// tuple item of reconstruction results
70extern NTuple::Item<double> m_t0;
71extern NTuple::Item<double> m_t0Stat;
72extern NTuple::Item<double> m_t0Truth;
73extern NTuple::Item<double> m_nTdsTk;
74extern NTuple::Item<double> m_nMcTk;
75extern NTuple::Item<double> m_p;
76extern NTuple::Item<double> m_pt;
77extern NTuple::Item<double> m_nSlay;
78extern NTuple::Item<double> m_pz;
79extern NTuple::Item<double> m_d0;
80extern NTuple::Item<double> m_phi0;
81extern NTuple::Item<double> m_cpa;
82extern NTuple::Item<double> m_z0;
83extern NTuple::Item<double> m_tanl;
84extern NTuple::Item<double> m_q;
85extern NTuple::Item<double> m_pocax;
86extern NTuple::Item<double> m_pocay;
87extern NTuple::Item<double> m_pocaz;
88extern NTuple::Item<double> m_evtNo;
89extern NTuple::Item<double> m_nSt;
90extern NTuple::Item<double> m_nDof;
91extern NTuple::Item<double> m_chi2;
92extern NTuple::Item<double> m_tkId;
93extern NTuple::Item<long> m_nHit;
94extern NTuple::Item<double> m_nAct;
95extern NTuple::Item<double> m_layerCount;
96extern NTuple::Item<long> m_nDigi;
97
98extern NTuple::Array<double> m_resid;
99extern NTuple::Array<double> m_sigma;
100extern NTuple::Array<double> m_driftD;
101extern NTuple::Array<double> m_driftT;
102extern NTuple::Array<double> m_doca;
103extern NTuple::Array<double> m_entra;
104extern NTuple::Array<double> m_fltLen;
105extern NTuple::Array<double> m_tof;
106extern NTuple::Array<double> m_ambig;
107extern NTuple::Array<double> m_act;
108extern NTuple::Array<double> m_tdc;
109extern NTuple::Array<double> m_adc;
110extern NTuple::Array<double> m_layer;
111extern NTuple::Array<double> m_wire;
112extern NTuple::Array<double> m_x;
113extern NTuple::Array<double> m_y;
114extern NTuple::Array<double> m_z;
115extern NTuple::Array<double> m_dx;
116extern NTuple::Array<double> m_dy;
117extern NTuple::Array<double> m_dz;
118extern NTuple::Array<double> m_dDriftD;
119extern NTuple::Array<double> m_dlr;
120extern NTuple::Array<double> m_cellWidth; // for MdcTrackList::pickHits() goodDriftCut
121
122// tuple item of event
123extern NTuple::Item<long> m_t4EvtNo;
124extern NTuple::Item<double> m_t4nMcTk;
125extern NTuple::Item<double> m_t4nRecTk;
126extern NTuple::Item<double> m_t4t0;
127extern NTuple::Item<long> m_t4t0Stat;
128extern NTuple::Item<double> m_t4t0Truth;
129extern NTuple::Item<long> m_t4nDigi;
130extern NTuple::Item<long> m_t4nDigiUnmatch;
131extern NTuple::Array<long> m_t4Layer;
132extern NTuple::Array<long> m_t4Wire;
133extern NTuple::Array<double> m_t4Time;
134extern NTuple::Array<double> m_t4Charge;
135extern NTuple::Array<double> m_t4recHit;
136extern NTuple::Array<double> m_t4PhiMid;
137extern NTuple::Array<double> m_t4Hot;
138
139// tuple item of segment
140extern NTuple::Item<long> m_tsNSeg;
141extern NTuple::Item<long> m_tsEvtNo;
142extern NTuple::Item<long> m_tsNDigi;
143extern NTuple::Array<long> m_tsLayer;
144extern NTuple::Array<long> m_tsWire;
145extern NTuple::Array<long> m_tsInSeg;
146extern NTuple::Array<long> m_tsMcTkId;
147
148// tuple item of combine ax segs
149extern NTuple::Tuple* g_tupleCombAx;
150extern NTuple::Item<double> g_combAxdPhi0;
151extern NTuple::Item<double> g_combAxdCurv;
152extern NTuple::Item<double> g_combAxSigPhi0;
153extern NTuple::Item<double> g_combAxSigCurv;
154extern NTuple::Item<double> g_combAxSlSeed;
155extern NTuple::Item<double> g_combAxSlTest;
156extern NTuple::Item<double> g_combAxQualitySeed;
157extern NTuple::Item<double> g_combAxQualityTest;
158extern NTuple::Item<double> g_combAxPatSeed;
159extern NTuple::Item<double> g_combAxPatTest;
160extern NTuple::Item<double> g_combAxNhitSeed;
161extern NTuple::Item<double> g_combAxNhitTest;
162extern NTuple::Item<double> g_combAxMc;
163extern NTuple::Item<double> g_combAxMcPt;
164extern NTuple::Item<double> g_combAxMcTheta;
165extern NTuple::Item<double> g_combAxMcPhi;
166extern NTuple::Item<double> g_combAxMcAmbigSeed;
167extern NTuple::Item<double> g_combAxMcAmbigTest;
168
169extern NTuple::Tuple* m_tuplet;
170extern NTuple::Item<long> m_tl;
171extern NTuple::Item<long> m_tw;
172extern NTuple::Item<double> m_tphi;
173extern NTuple::Item<double> m_tdphi;
174extern NTuple::Item<double> m_tdncell;
175
176#ifdef MDCPATREC_TIMETEST
177extern NTuple::Tuple* m_tupleTime;
178extern NTuple::Item<double> m_eventTime;
179extern NTuple::Item<long> m_recTkNum;
180extern NTuple::Item<long> m_mcTkNum;
181extern NTuple::Item<long> m_t5EvtNo;
182extern NTuple::Item<long> m_t5nHit;
183extern NTuple::Item<long> m_t5nDigi;
184extern NTuple::Item<long> m_t5nSt;
185extern NTuple::Item<double> m_t5fitTime;
186extern NTuple::Item<double> m_t5p;
187extern NTuple::Item<double> m_t5pt;
188#endif
189
190#ifdef MDCPATREC_RESLAYER
191int m_resLayer;
192extern NTuple::Tuple* g_tupleres;
193extern NTuple::Item<double> g_resLayer;
194extern NTuple::Item<double> g_t6Layer;
195#endif
196
197extern NTuple::Tuple* g_tupleFindSeg;
198extern NTuple::Item<double> g_findSegChi2;
199extern NTuple::Item<double> g_findSegIntercept;
200extern NTuple::Item<double> g_findSegSlope;
201extern NTuple::Item<double> g_findSegChi2Refit;
202extern NTuple::Item<double> g_findSegChi2Add;
203extern NTuple::Item<int> g_findSegPat;
204extern NTuple::Item<int> g_findSegNhit;
205extern NTuple::Item<int> g_findSegPat34;
206extern NTuple::Item<int> g_findSegSl;
207extern NTuple::Item<double> g_findSegMc;
208extern NTuple::Item<double> g_findSegAmbig;
209
210extern NTuple::Tuple* m_tuplePick;
211extern NTuple::Item<long> m_pickLayer;
212extern NTuple::Item<long> m_pickNCell;
213extern NTuple::Item<long> m_pickNCellWithDigi;
214extern NTuple::Array<long> m_pickWire;
215extern NTuple::Array<double> m_pickPredDrift;
216extern NTuple::Array<double> m_pickDrift;
217extern NTuple::Array<double> m_pickDriftTruth;
218extern NTuple::Array<int> m_pickPhizOk;
219extern NTuple::Array<double> m_pickPhiMaxDiff;
220extern NTuple::Array<double> m_pickPhiMinDiff;
221extern NTuple::Array<double> m_pickZ;
222extern NTuple::Array<double> m_pickResid;
223extern NTuple::Array<double> m_pickSigma;
224extern NTuple::Array<double> m_pickPhiLowCut;
225extern NTuple::Array<double> m_pickPhiHighCut;
226extern NTuple::Array<double> m_pickDriftCut;
227extern NTuple::Array<long> m_pickMcTk;
228extern NTuple::Array<long> m_pickIs2D;
229extern NTuple::Array<double> m_pickPt;
230extern NTuple::Array<double> m_pickCurv;
231
232extern NTuple::Tuple* m_tupleWireEff;
233extern NTuple::Item<long> m_we_tkId;
234extern NTuple::Item<long> m_we_pdg;
235extern NTuple::Item<long> m_we_primary;
236extern NTuple::Item<long> m_we_layer;
237extern NTuple::Item<long> m_we_wire;
238extern NTuple::Item<long> m_we_gwire;
239extern NTuple::Item<double> m_we_pt;
240extern NTuple::Item<double> m_we_theta;
241extern NTuple::Item<double> m_we_phi;
242// extern NTuple::Item<double> m_we_tdc;
243extern NTuple::Item<long> m_we_poisoned;
244extern NTuple::Item<long> m_we_seg;
245extern NTuple::Item<long> m_we_track;
246
247extern NTuple::Tuple* m_tupleWireEffPoi;
248extern NTuple::Item<long> m_we_poi_tkId;
249extern NTuple::Item<long> m_we_poi_pdg;
250extern NTuple::Item<long> m_we_poi_primary;
251extern NTuple::Item<long> m_we_poi_layer;
252extern NTuple::Item<long> m_we_poi_wire;
253
254extern int haveDigiTk[43][288];
255extern double haveDigiPt[43][288];
256extern double haveDigiTheta[43][288];
257extern double haveDigiPhi[43][288];
258extern double haveDigiDrift[43][288];
259extern int haveDigiAmbig[43][288];
260extern int recHitMap[43][288];
261#endif
NTuple::Array< long > m_tsLayer
NTuple::Item< long > m_we_poi_layer
int recHitMap[43][288]
NTuple::Array< double > m_entra
NTuple::Array< long > m_tsMcTkId
NTuple::Item< double > g_findSegMc
NTuple::Tuple * m_tupleMcHit
NTuple::Tuple * m_tupleSeg
NTuple::Item< double > m_t4nMcTk
NTuple::Array< double > m_tMcLR
NTuple::Array< double > m_adc
NTuple::Item< long > m_tsNDigi
NTuple::Item< double > g_combAxMcPt
NTuple::Item< long > m_tMcNHit
NTuple::Item< double > g_combAxSlTest
NTuple::Array< double > m_dDriftD
NTuple::Array< double > m_dz
NTuple::Array< double > m_ambig
NTuple::Array< long > m_pickIs2D
NTuple::Item< double > m_tMcEvtNo
NTuple::Item< double > m_nSt
NTuple::Item< long > m_we_poisoned
NTuple::Item< double > m_we_pt
NTuple::Item< double > g_combAxQualitySeed
NTuple::Array< long > m_t4Layer
NTuple::Item< double > g_combAxPatSeed
NTuple::Item< double > m_nSlay
NTuple::Item< long > m_tMcTkId
NTuple::Item< long > m_t4nDigi
NTuple::Array< double > m_pickPt
NTuple::Tuple * g_tupleFindSeg
NTuple::Item< long > m_pickLayer
NTuple::Item< double > m_pocax
NTuple::Item< double > m_tMcPz
NTuple::Array< long > m_pickMcTk
NTuple::Array< double > m_dlr
NTuple::Item< double > g_combAxMcAmbigTest
NTuple::Item< int > g_findSegPat34
NTuple::Item< long > m_we_poi_wire
AIDA::IHistogram1D * g_fitNAct
NTuple::Item< double > m_p
NTuple::Item< double > g_findSegAmbig
NTuple::Item< long > m_tMcNTk
NTuple::Item< int > g_findSegPat
NTuple::Array< long > m_tsWire
AIDA::IHistogram1D * g_pickHitWire
NTuple::Item< long > m_pickNCellWithDigi
NTuple::Array< double > m_tof
NTuple::Array< double > m_tMcWire
NTuple::Item< double > m_we_phi
AIDA::IHistogram1D * g_delCt
AIDA::IHistogram1D * g_phiDiff
NTuple::Array< double > m_pickPhiLowCut
int haveDigiTk[43][288]
NTuple::Array< double > m_doca
NTuple::Item< double > m_tMcPx
NTuple::Item< double > g_findSegChi2Refit
NTuple::Item< double > m_phi0
NTuple::Item< long > m_tw
NTuple::Item< double > m_nDof
NTuple::Array< double > m_tdc
NTuple::Item< long > m_t4EvtNo
NTuple::Item< double > m_tMcPy
double haveDigiDrift[43][288]
NTuple::Item< long > m_we_layer
NTuple::Tuple * m_tupleWireEff
NTuple::Item< double > m_tdncell
NTuple::Array< double > m_tMcZ
NTuple::Item< double > m_layerCount
NTuple::Array< long > m_t4Wire
NTuple::Array< double > m_pickDriftCut
NTuple::Item< double > m_z0
int haveDigiAmbig[43][288]
NTuple::Item< long > m_nHit
AIDA::IHistogram1D * g_combChi2
NTuple::Item< double > m_tMcTheta
NTuple::Item< double > g_findSegIntercept
double haveDigiPhi[43][288]
AIDA::IHistogram1D * g_nSigAdd
NTuple::Item< double > m_tdphi
NTuple::Array< double > m_act
NTuple::Item< long > m_we_primary
NTuple::Item< double > m_pz
NTuple::Array< double > m_tMcX
NTuple::Array< double > m_pickPhiMaxDiff
NTuple::Item< long > m_we_poi_primary
NTuple::Array< double > m_wire
NTuple::Item< double > m_pocay
NTuple::Item< double > m_tMcZ0
NTuple::Item< long > m_we_seg
NTuple::Array< double > m_t4Charge
NTuple::Item< double > m_evtNo
NTuple::Item< long > m_we_tkId
NTuple::Item< double > m_d0
NTuple::Array< double > m_pickCurv
NTuple::Item< double > m_we_theta
NTuple::Item< long > m_we_track
NTuple::Array< double > m_resid
NTuple::Array< double > m_pickDrift
NTuple::Item< long > m_tMcPid
NTuple::Item< long > m_we_poi_pdg
AIDA::IHistogram1D * g_delSlope
NTuple::Item< long > m_we_pdg
NTuple::Array< double > m_tMcY
NTuple::Item< double > m_tMcD0
NTuple::Item< long > m_we_poi_tkId
NTuple::Item< double > m_t4t0
double haveDigiTheta[43][288]
NTuple::Array< double > m_z
AIDA::IHistogram1D * g_delZ0
AIDA::IHistogram1D * g_z0Cut
NTuple::Array< double > m_pickResid
NTuple::Array< int > m_pickPhizOk
NTuple::Item< long > m_we_wire
NTuple::Item< double > m_t4nRecTk
NTuple::Item< double > m_q
AIDA::IHistogram2D * g_residVsLayer
NTuple::Array< double > m_x
AIDA::IHistogram1D * h_mapHit
NTuple::Item< double > g_combAxMcTheta
AIDA::IHistogram1D * g_cirTkChi2
AIDA::IHistogram1D * g_maxSegChisqSt
NTuple::Item< long > m_tsNSeg
NTuple::Item< double > g_findSegChi2
NTuple::Item< double > g_combAxQualityTest
AIDA::IHistogram1D * h_sfHit
NTuple::Item< double > m_chi2
NTuple::Item< double > m_t0
NTuple::Array< double > m_pickSigma
AIDA::IHistogram1D * g_3dTkChi2
NTuple::Item< long > m_t4t0Stat
NTuple::Item< double > g_combAxNhitTest
AIDA::IHistogram2D * g_residVsDoca
AIDA::IHistogram1D * g_delPhi
NTuple::Item< double > g_combAxSigPhi0
NTuple::Item< double > m_nTdsTk
NTuple::Item< double > m_tphi
NTuple::Item< double > g_combAxdCurv
NTuple::Array< long > m_pickWire
NTuple::Array< double > m_t4recHit
NTuple::Item< double > m_pocaz
NTuple::Array< double > m_tMcDrift
NTuple::Tuple * m_tupleEvt
NTuple::Item< double > g_findSegChi2Add
NTuple::Array< double > m_cellWidth
NTuple::Tuple * m_tuplePick
NTuple::Item< double > m_nMcTk
NTuple::Array< double > m_pickDriftTruth
NTuple::Item< double > g_findSegSlope
NTuple::Item< double > g_combAxSigCurv
NTuple::Array< double > m_driftT
NTuple::Item< double > m_tMcFiTerm
NTuple::Item< long > m_tl
NTuple::Array< double > m_dx
NTuple::Array< long > m_tsInSeg
NTuple::Array< double > m_dy
NTuple::Tuple * m_tuple1
NTuple::Item< double > m_t4t0Truth
double haveDigiPt[43][288]
NTuple::Item< double > m_t0Truth
NTuple::Item< double > g_combAxdPhi0
NTuple::Array< double > m_pickZ
AIDA::IHistogram1D * g_slopeDiff
NTuple::Array< double > m_pickPredDrift
NTuple::Array< double > m_tMcLayer
NTuple::Item< int > g_findSegSl
NTuple::Array< double > m_t4PhiMid
NTuple::Array< double > m_layer
NTuple::Item< double > m_pt
NTuple::Item< double > m_cpa
NTuple::Array< double > m_driftD
NTuple::Tuple * m_tupleWireEffPoi
NTuple::Item< double > m_tanl
NTuple::Item< double > m_t0Stat
NTuple::Array< double > m_sigma
NTuple::Item< double > g_combAxPatTest
NTuple::Item< double > g_combAxNhitSeed
NTuple::Item< double > m_nAct
NTuple::Item< double > g_combAxMc
NTuple::Item< long > m_we_gwire
NTuple::Item< long > m_t4nDigiUnmatch
NTuple::Array< double > m_y
AIDA::IHistogram1D * g_maxSegChisqAx
AIDA::IHistogram1D * g_ctCut
NTuple::Array< double > m_t4Time
NTuple::Item< double > g_combAxSlSeed
NTuple::Tuple * g_tupleCombAx
NTuple::Tuple * m_tupleMc
NTuple::Item< long > m_pickNCell
NTuple::Array< double > m_pickPhiMinDiff
NTuple::Item< double > g_combAxMcAmbigSeed
NTuple::Item< long > m_tsEvtNo
NTuple::Item< double > g_combAxMcPhi
NTuple::Array< double > m_fltLen
NTuple::Item< long > m_nDigi
NTuple::Array< double > m_pickPhiHighCut
NTuple::Item< double > m_tkId
NTuple::Tuple * m_tuplet
NTuple::Array< double > m_t4Hot
NTuple::Item< int > g_findSegNhit