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