1#ifndef Physics_Analysis_Signal_H
2#define Physics_Analysis_Signal_H
4#include "GaudiKernel/AlgFactory.h"
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/NTuple.h"
8class Signal :
public Algorithm {
11 Signal(
const std::string& name, ISvcLocator* pSvcLocator);
25 double m_energyThreshold;
27 double m_gammaThetaCut;
40 NTuple::Tuple* m_tuple1;
42 NTuple::Item<long> m_run ;
43 NTuple::Item<long> m_event;
44 NTuple::Item<long> m_nchrg;
45 NTuple::Item<long> m_nneu ;
46 NTuple::Item<long> m_ngch ;
48 NTuple::Array<long> m_charge ;
49 NTuple::Array<double> m_vx0 ;
50 NTuple::Array<double> m_vy0 ;
51 NTuple::Array<double> m_vz0 ;
52 NTuple::Array<double> m_vr0 ;
54 NTuple::Array<double> m_px ;
55 NTuple::Array<double> m_py ;
56 NTuple::Array<double> m_pz ;
57 NTuple::Array<double> m_p ;
58 NTuple::Array<double> m_cos ;
60 NTuple::Array<double> m_bst_px ;
61 NTuple::Array<double> m_bst_py ;
62 NTuple::Array<double> m_bst_pz ;
63 NTuple::Array<double> m_bst_p ;
64 NTuple::Array<double> m_bst_cos ;
66 NTuple::Array<double> m_vtx_px ;
67 NTuple::Array<double> m_vtx_py ;
68 NTuple::Array<double> m_vtx_pz ;
69 NTuple::Array<double> m_vtx_p ;
70 NTuple::Array<double> m_vtx_cos ;
72 NTuple::Array<double> m_probPH;
73 NTuple::Array<double> m_normPH;
74 NTuple::Array<double> m_chie ;
75 NTuple::Array<double> m_chimu ;
76 NTuple::Array<double> m_chipi ;
77 NTuple::Array<double> m_chik ;
78 NTuple::Array<double> m_chip ;
79 NTuple::Array<double> m_ghit ;
80 NTuple::Array<double> m_thit ;
82 NTuple::Array<double> m_e_emc ;
84 NTuple::Array<double> m_tof_b1;
85 NTuple::Array<double> m_beta_b1;
86 NTuple::Array<double> m_tof_b2;
87 NTuple::Array<double> m_beta_b2;
88 NTuple::Array<double> m_tof_e;
89 NTuple::Array<double> m_beta_e;
91 NTuple::Array<double> m_cntr_etof ;
92 NTuple::Array<double> m_ptot_etof ;
93 NTuple::Array<double> m_ph_etof ;
94 NTuple::Array<double> m_rhit_etof ;
95 NTuple::Array<double> m_qual_etof ;
96 NTuple::Array<double> m_tof_etof ;
97 NTuple::Array<double> m_te_etof ;
98 NTuple::Array<double> m_tmu_etof ;
99 NTuple::Array<double> m_tpi_etof ;
100 NTuple::Array<double> m_tk_etof ;
101 NTuple::Array<double> m_tp_etof ;
103 NTuple::Array<double> m_cntr_btof1 ;
104 NTuple::Array<double> m_ptot_btof1 ;
105 NTuple::Array<double> m_ph_btof1 ;
106 NTuple::Array<double> m_zhit_btof1 ;
107 NTuple::Array<double> m_qual_btof1 ;
108 NTuple::Array<double> m_tof_btof1 ;
109 NTuple::Array<double> m_te_btof1 ;
110 NTuple::Array<double> m_tmu_btof1 ;
111 NTuple::Array<double> m_tpi_btof1 ;
112 NTuple::Array<double> m_tk_btof1 ;
113 NTuple::Array<double> m_tp_btof1 ;
115 NTuple::Array<double> m_cntr_btof2 ;
116 NTuple::Array<double> m_ptot_btof2 ;
117 NTuple::Array<double> m_ph_btof2 ;
118 NTuple::Array<double> m_zhit_btof2 ;
119 NTuple::Array<double> m_qual_btof2 ;
120 NTuple::Array<double> m_tof_btof2 ;
121 NTuple::Array<double> m_te_btof2 ;
122 NTuple::Array<double> m_tmu_btof2 ;
123 NTuple::Array<double> m_tpi_btof2 ;
124 NTuple::Array<double> m_tk_btof2 ;
125 NTuple::Array<double> m_tp_btof2 ;
127 NTuple::Array<double> m_ptrk_pid ;
128 NTuple::Array<double> m_cost_pid ;
129 NTuple::Array<double> m_dedx_pid ;
130 NTuple::Array<double> m_tof1_pid ;
131 NTuple::Array<double> m_tof2_pid ;
132 NTuple::Array<double> m_prob_pi ;
133 NTuple::Array<double> m_prob_k ;
134 NTuple::Array<double> m_prob_p ;
136 NTuple::Item<long> m_np ;
137 NTuple::Item<long> m_npb;
139 NTuple::Item<double> m_m2p ;
140 NTuple::Item<double> m_angle ;
142 NTuple::Item<double> m_vtx_m2p ;
143 NTuple::Item<double> m_vtx_angle ;
145 NTuple::Item<double> m_chi2_4c ;
146 NTuple::Item<double> m_m2p_4c ;
147 NTuple::Item<double> m_angle_4c ;
Signal(const std::string &name, ISvcLocator *pSvcLocator)