BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/MucRecAlg/MucRecAlg/MucRecTrkExt.h
Go to the documentation of this file.
1//$id$
2//
3//$log$
4
5/*
6 * 2004/03/08 Zhengyun You Peking University
7 *
8 * 2004/09/12 Zhengyun You Peking University
9 * transplanted to Gaudi framework
10 */
11
12#ifndef MUC_REC_TRK_EXT_H
13#define MUC_REC_TRK_EXT_H
14
15#include "GaudiKernel/Algorithm.h"
16#include "GaudiKernel/NTuple.h"
17#include "HepPDT/ParticleDataTable.hh"
18#include <string>
19#include <vector>
20
21#include "MucRecEvent/MucRecHitContainer.h"
22#include "MucRecEvent/RecMucTrack.h"
23
24class MucRecTrkExt:public Algorithm {
25public:
26 MucRecTrkExt(const std::string& name, ISvcLocator* pSvcLocator);
27 StatusCode initialize();
28 StatusCode execute();
29 StatusCode finalize();
30
31 void TrackFinding(RecMucTrack *aTrack);
32 float getWindowSize(Hep3Vector mom, int part, int seg, int gap);
33
34private:
35 int m_ExtTrackSeedMode;
36 int m_CompareWithMcHit;
37 int m_fittingMethod;
38 int m_EmcShowerSeedMode;
39 int m_MucHitSeedMode;
40 int m_NtOutput; //switch of output Muc.root
41 bool m_Blind;
42 bool m_MsOutput;
43 long m_totalEvent;
44
45 int m_NDigisTotal;
46 int m_NHitsTotal;
47 int m_NHitsFoundTotal;
48 int m_NHitsLostTotal;
49 int m_NHitsMisFoundTotal;
50 int m_NHitsLostByMdcTotal;
51 int m_NHitsLostByExtTotal;
52
53 int m_NTracksTotal;
54 int m_NTracksRecoTotal;
55 int m_NTracksLostByMdcTotal;
56 int m_NTracksLostByExtTotal;
57 int m_NTracksMdcGhostTotal;
58
59 int m_emcrec;
60
61 std::vector<int> m_NHitsLost;
62 std::vector<int> m_NHitsLostInGap;
63 std::vector<int> m_TrackLostHit;
64 std::vector<int> m_TrackLostHitNumber;
65 std::vector<int> m_TrackLostByMdc;
66 std::vector<int> m_TrackLostByExt;
67
68 std::string m_configFile;
69 HepPDT::ParticleDataTable* m_particleTable;
70 MucRecHitContainer *m_MucRecHitContainer;
71
72 std::string m_filter_filename;
73 struct FilterEvent {
74 std::string bossver;
75 int runid;
76 int eventid;
77 };
78 std::vector<FilterEvent> m_filter_event;
79 MucRecHitContainer *aMucRecHitContainer;
80
81 NTuple::Tuple* m_tuple;
82 NTuple::Item<double> m_posx;
83 NTuple::Item<double> m_posy;
84 NTuple::Item<double> m_posz;
85 NTuple::Item<double> m_posx_ext;
86 NTuple::Item<double> m_posy_ext;
87 NTuple::Item<double> m_posz_ext;
88 NTuple::Item<double> m_posx_sigma;
89 NTuple::Item<double> m_posy_sigma;
90 NTuple::Item<double> m_posz_sigma;
91 NTuple::Item<double> m_depth;
92 NTuple::Item<double> m_Distance;
93 NTuple::Item<double> m_MaxHits;
94 NTuple::Item<double> m_Chi2;
95 NTuple::Item<double> m_Dist_x;
96 NTuple::Item<double> m_Dist_y;
97 NTuple::Item<double> m_Dist_z;
98 NTuple::Item<double> m_px_mc;
99 NTuple::Item<double> m_py_mc;
100 NTuple::Item<double> m_pz_mc;
101 NTuple::Item<double> m_emctrack;
102 NTuple::Item<double> m_muc_digi;
103
104 NTuple::Item<double> m_part;
105 NTuple::Item<double> m_seg;
106 NTuple::Item<double> m_gap;
107 NTuple::Item<double> m_strip;
108 NTuple::Item<double> m_diff;
109 NTuple::Item<double> m_distance;
110
111 NTuple::Item<double> m_run;
112 NTuple::Item<double> m_event;
113
114};
115
116#endif /* MUC_REC_TRK_EXT_H */
void TrackFinding(RecMucTrack *aTrack)
StatusCode execute()
float getWindowSize(Hep3Vector mom, int part, int seg, int gap)
StatusCode finalize()
StatusCode initialize()