BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DimuPreSelectTool.h
Go to the documentation of this file.
1#pragma once
2
3#include <Gaudi/Property.h>
4#include <GaudiKernel/AlgTool.h>
5
6#include "EventPreSelect/IDimuPreSelectTool.h"
7
8class DimuPreSelectTool : public extends<AlgTool, IDimuPreSelectTool> {
9public:
10 using extends::extends;
11
12 // StatusCode initialize() override;
13 // StatusCode finalize() override;
14
15 void BookNtuple( NTuple::Tuple*& tuple ) override;
16 int IsDimu() override;
17 void Print() override;
18
19private:
20 bool m_output{ false };
21 bool m_mdcPass{ false };
22 bool m_tofPass{ false };
23 bool m_emcPass{ false };
24 bool m_mucPass{ false };
25
26 long m_totevent{ 0 };
27 long m_currun{ 0 };
28 long m_curevent{ 0 };
29
30 long m_cutpass[20]{ 0 };
31 long m_subpass[4]{ 0 };
32 long m_totalpass{ 0 };
33
34 NTuple::Tuple* m_passtuple;
35 NTuple::Item<double> m_run;
36 NTuple::Item<double> m_event;
37 NTuple::Item<double> m_part; // 1: barrel, 0: endcap
38 NTuple::Item<double> m_c1;
39 NTuple::Item<double> m_c2;
40 NTuple::Item<double> m_r1;
41 NTuple::Item<double> m_r2;
42 NTuple::Item<double> m_z1;
43 NTuple::Item<double> m_z2;
44 NTuple::Item<double> m_p1;
45 NTuple::Item<double> m_p2;
46 NTuple::Item<double> m_t1;
47 NTuple::Item<double> m_t2;
48 NTuple::Item<double> m_e1;
49 NTuple::Item<double> m_e2;
50 NTuple::Item<double> m_theta1;
51 NTuple::Item<double> m_theta2;
52 NTuple::Item<double> m_phi1;
53 NTuple::Item<double> m_phi2;
54 NTuple::Item<double> m_mudigi;
55 NTuple::Item<double> m_mutrk;
56 NTuple::Item<double> m_zeroCFlag;
57 NTuple::Item<double> m_vtRZFlag;
58 NTuple::Item<double> m_pLimFlag;
59 NTuple::Item<double> m_pSymFlag;
60 NTuple::Item<double> m_tLimFlag;
61 NTuple::Item<double> m_eLimFlag;
62 NTuple::Item<double> m_eBBFlag;
63 NTuple::Item<double> m_partFlag;
64 NTuple::Item<double> m_mudigiFlag;
65 NTuple::Item<double> m_mutrkFlag;
66 NTuple::Item<double> m_mdcFlag;
67 NTuple::Item<double> m_tofFlag;
68 NTuple::Item<double> m_emcFlag;
69 NTuple::Item<double> m_mucFlag;
70
71private: // Gaudi properties
72 DoubleProperty m_ecms{ this, "CmsEnergy", 3.686 };
73 DoubleProperty m_vr0cut{ this, "Vr0Cut", 1.0 };
74 DoubleProperty m_vz0cut{ this, "Vz0Cut", 5.0 };
75 DoubleProperty m_pcut_up{ this, "PUpCut", 2.0 };
76 DoubleProperty m_pcut_down{ this, "PDownCut", 0.5 };
77 DoubleProperty m_psymcut{ this, "PSymCut", 0.5 };
78 DoubleProperty m_tcut{ this, "TCut", 4 };
79 DoubleProperty m_ecut_up{ this, "EUpCut", 1.0 };
80 DoubleProperty m_ecut_down{ this, "EDownCut", 0.1 };
81 DoubleProperty m_dthetacut{ this, "DThetaCut", 0.05 };
82 DoubleProperty m_dphicut{ this, "DPhiCut", 0.4 };
83 DoubleProperty m_mudigicut{ this, "MuDigiCut", 6 };
84 DoubleProperty m_mutrkcut{ this, "MuTrkCut", 1 };
85 IntegerProperty m_partselect{ this, "PartSelect", 0 };
86};
void BookNtuple(NTuple::Tuple *&tuple) override