BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucRecRoadFinder.h
Go to the documentation of this file.
1//$id$
2//
3//$log$
4
5/*
6 * 2003/09/06 Zhengyun You Peking University
7 *
8 * 2005/02/27 Zhengyun You Peking University
9 * transplanted to Gaudi framework
10 */
11
12#ifndef MUC_REC_ROAD_FINDER_H
13#define MUC_REC_ROAD_FINDER_H
14
15#include "GaudiKernel/Algorithm.h"
16#include "GaudiKernel/NTuple.h"
17#include "MucRecEvent/MucRecHitContainer.h"
18#include "MucRecEvent/RecMucTrack.h"
19#include <string>
20/**
21 * Reconstruction of Muon Chamber tracks by combining two 2DRoads
22 * to form a 3DRoad.
23 *
24 * @author Zhengyun You \URL{mailto:youzy@hep.pku.cn}
25 *
26 */
27
28class MucRecRoadFinder : public Algorithm {
29public:
30 MucRecRoadFinder( const std::string& name, ISvcLocator* pSvcLocator );
32
33 StatusCode initialize();
34 StatusCode execute();
35 StatusCode finalize();
36
37 void TrackFinding( RecMucTrack* aTrack );
38
39private:
40 int m_NEvent;
41 int m_NEventWithHit;
42 int m_NEventReco;
43 int m_NHitsLostTotal;
44 int m_NHitsTotal;
45 std::vector<int> m_NHitsLost;
46 std::vector<int> m_NHitsLostInGap;
47
48 int m_fittingMethod;
49 std::string m_configFile;
50 int m_mccosmic;
51 int m_NtOutput; // switch of output Muc.root
52 int m_onlyseedfit; // only fit those layers being seed
53 int m_maxHitsRec; // too many hits, do not deal with;
54 int m_united; // judge if that is united or not
55 int m_seedtype; // 0: find seed gaps event by event, 1: fix seed gaps
56 bool m_MsOutput; // for debug cout or not
57
58 std::string m_filter_filename;
59 struct FilterEvent {
60 std::string bossver;
61 int runid;
62 int eventid;
63 };
64 std::vector<FilterEvent> m_filter_event;
65 MucRecHitContainer* aMucRecHitContainer;
66
67 NTuple::Tuple* m_tuple;
68 NTuple::Item<double> m_part;
69 NTuple::Item<double> m_seg;
70 NTuple::Item<double> m_gap;
71 NTuple::Item<double> m_strip;
72 NTuple::Item<double> m_diff;
73 NTuple::Item<double> m_dist;
74
75 NTuple::Item<double> m_run;
76 NTuple::Item<double> m_event;
77 NTuple::Item<double> m_ngapwithhits;
78 NTuple::Item<double> m_nhit;
79 NTuple::Item<double> m_maxhit;
80 NTuple::Item<double> m_multihit;
81 NTuple::Item<double> m_angle_cosmic;
82 NTuple::Item<double> m_angle_updown;
83 NTuple::Item<double> m_px;
84 NTuple::Item<double> m_py;
85 NTuple::Item<double> m_pz;
86 NTuple::Item<double> m_theta;
87 NTuple::Item<double> m_phi;
88 NTuple::Item<double> m_theta_pipe;
89 NTuple::Item<double> m_phi_pipe;
90 NTuple::Item<double> m_px_mc;
91 NTuple::Item<double> m_py_mc;
92 NTuple::Item<double> m_pz_mc;
93 NTuple::Item<double> m_theta_mc;
94 NTuple::Item<double> m_phi_mc;
95 NTuple::Item<double> m_theta_mc_pipe;
96 NTuple::Item<double> m_phi_mc_pipe;
97 NTuple::Item<double> m_emcUp;
98 NTuple::Item<double> m_emcDown;
99 NTuple::Item<double> m_mucUp;
100 NTuple::Item<double> m_mucDown;
101 NTuple::Item<double> m_projx;
102 NTuple::Item<double> m_projz;
103};
104
105#endif /* MUC_REC_ROAD_FINDER_H */
MucRecRoadFinder(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize()
void TrackFinding(RecMucTrack *aTrack)