BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/DigammaPreSelect/DigammaPreSelect/DigammaPreSelect.h
Go to the documentation of this file.
1#ifndef DigammaPreSelect_H
2#define DigammaPreSelect_H
3#include <cstring>
4
5#include "GaudiKernel/AlgFactory.h"
6#include "GaudiKernel/Algorithm.h"
7#include "GaudiKernel/NTuple.h"
8#include "EvtRecEvent/EvtRecTrack.h"
9
10
11class DigammaPreSelect : public Algorithm {
12
13public:
14 DigammaPreSelect(const std::string& name, ISvcLocator* pSvcLocator);
15 StatusCode initialize();
16 StatusCode execute();
17 StatusCode finalize();
18
19 int selectedType() const
20 {
21 return m_selectedType;
22 }
23 int selectedTrkID1() const
24 {
25 return m_selectedTrkID1;
26 }
27 int selectedTrkID2() const
28 {
29 return m_selectedTrkID2;
30 }
31
32private:
33
34 RecEmcShower* matched( int TrkID ) const ;
35 double Angle2ClosestShower( int ShowerID );
36 // Declare r0, z0 cut for charged tracks
37 double m_vr0cut;
38 double m_vz0cut;
39
40 double m_lowEnergyShowerCut;
41 double m_highEnergyShowerCut;
42 double m_matchThetaCut ;
43 double m_matchPhiCut ;
44
45 double m_highMomentumCut;
46 double m_EoPMaxCut;
47 double m_EoPMinCut;
48 double m_minAngShEnergyCut;
49 double m_minAngCut;
50 double m_acolliCut;
51 double m_eNormCut;
52 double m_pNormCut;
53 int m_BarrelOrEndcap;
54 bool m_output;
55
56 double m_oneProngMomentumCut;
57
58 /**selected event type */
59 int m_selectedType;
60 int m_selectedTrkID1;
61 int m_selectedTrkID2;
62 /**number of events passed */
63 long int m_events;
64
65 /**number of events rejected */
66 long int m_rejected;
67
68 int m_oneProngsSelected;
69 int m_twoProngsMatchedSelected;
70 int m_twoProngsOneMatchedSelected;
71
72
73 // define Ntuples here
74
75 NTuple::Tuple* m_tuple1; //Trk2Sh2
76 NTuple::Item<double> m_trk1_p;
77 NTuple::Item<double> m_trk1_theta;
78 NTuple::Item<double> m_trk1_phi;
79 NTuple::Item<double> m_sh1_ene;
80 NTuple::Item<double> m_sh1_theta;
81 NTuple::Item<double> m_sh1_phi;
82
83 NTuple::Item<double> m_trk2_p;
84 NTuple::Item<double> m_trk2_theta;
85 NTuple::Item<double> m_trk2_phi;
86 NTuple::Item<double> m_sh2_ene;
87 NTuple::Item<double> m_sh2_theta;
88 NTuple::Item<double> m_sh2_phi;
89 NTuple::Item<double> m_di_the;
90 NTuple::Item<double> m_di_phi;
91
92 NTuple::Item<double> m_etot;
93 NTuple::Item<double> m_pNorm;
94 NTuple::Item<double> m_eNorm;
95 NTuple::Item<double> m_acolli;
96 NTuple::Item<double> m_mdc_hit;
97 NTuple::Tuple* m_tuple2;
98 NTuple::Item<double> m_sh_ene;
99 NTuple::Item<double> m_sh_theta;
100 NTuple::Item<double> m_sh_phi;
101};
102
103#endif
DigammaPreSelect(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode execute()
StatusCode initialize()
StatusCode finalize()