1#include "GaudiKernel/MsgStream.h"
2#include "GaudiKernel/AlgFactory.h"
3#include "GaudiKernel/ISvcLocator.h"
4#include "GaudiKernel/SmartDataPtr.h"
5#include "GaudiKernel/IDataProviderSvc.h"
6#include "GaudiKernel/PropertyMgr.h"
8#include "EventModel/EventModel.h"
9#include "EventModel/Event.h"
11#include "EvtRecEvent/EvtRecEvent.h"
12#include "EvtRecEvent/EvtRecTrack.h"
13#include "EvtRecEvent/EvtRecDTag.h"
14#include "DstEvent/TofHitStatus.h"
15#include "EventModel/EventHeader.h"
17#include "McTruth/McParticle.h"
21#include "GaudiKernel/INTupleSvc.h"
22#include "GaudiKernel/NTuple.h"
23#include "GaudiKernel/ITHistSvc.h"
24#include "GaudiKernel/Bootstrap.h"
25#include "GaudiKernel/IHistogramSvc.h"
27#include "CLHEP/Vector/ThreeVector.h"
28#include "CLHEP/Vector/LorentzVector.h"
29#include "CLHEP/Vector/TwoVector.h"
30#include "CLHEP/Geometry/Point3D.h"
32using CLHEP::Hep3Vector;
33using CLHEP::Hep2Vector;
34using CLHEP::HepLorentzVector;
35#ifndef ENABLE_BACKWARDS_COMPATIBILITY
39#include "VertexFit/IVertexDbSvc.h"
40#include "VertexFit/KinematicFit.h"
41#include "VertexFit/VertexFit.h"
42#include "VertexFit/Helix.h"
43#include "ParticleID/ParticleID.h"
46#include "DQADtagAlg/DQADtag.h"
47#include "DQADtagAlg/util/MyUtil.h"
48#include "DQADtagAlg/util/MyConst.h"
69 Algorithm(name, pSvcLocator) {
72 declareProperty(
"Vr0cut", m_vr0cut=1.0);
73 declareProperty(
"Vz0cut", m_vz0cut=10.0);
74 declareProperty(
"Vctcut", m_cthcut=0.93);
75 declareProperty(
"mpi0Max", m_mpi0Min =0.1);
76 declareProperty(
"mpi0Min", m_mpi0Max =0.16);
77 declareProperty(
"EnergyThreshold", m_energyThreshold=0.04);
78 declareProperty(
"BarrelEmc_th", m_Barrel_th = 0.82);
79 declareProperty(
"EndcapEmc_th_1", m_Endcap_th_1 = 0.85);
80 declareProperty(
"EndcapEmc_th_2", m_Endcap_th_2 = 0.93);
81 declareProperty(
"EnergyThreshold_b", m_energyThreshold_b=0.025);
82 declareProperty(
"EnergyThreshold_e", m_energyThreshold_e=0.05);
83 declareProperty(
"GammaAngCut", m_gammaAngCut=25.0);
84 declareProperty(
"ReadBeamEFromDB", m_ReadBeamEFromDB =
false );
85 declareProperty(
"BeamE", m_beamE = 1.885 );
86 declareProperty(
"CheckDedx", m_checkDedx = 0);
87 declareProperty(
"CheckTof", m_checkTof = 0);
88 declareProperty(
"CheckVtx", m_checkVtx= 0);
89 declareProperty(
"CheckEvt", m_checkEvt= 0);
90 declareProperty(
"WriteTuple", m_writeTuple = 1);
91 declareProperty(
"Debug", m_debug = 0);
92 declareProperty(
"deltECut", m_deltECut = 0.03);
93 declareProperty(
"mpi0MaxCut", m_mpi0MinCut =0.117);
94 declareProperty(
"mpi0MinCut", m_mpi0MaxCut =0.145);
95 declareProperty(
"mKsMaxCut", m_mKsMaxCut = 0.505);
96 declareProperty(
"mKsMinCut", m_mKsMinCut = 0.49);
97 declareProperty(
"KsDLengthCut", m_KsDLengthCut = 12.0);
98 declareProperty(
"CheckDecayMode", m_checkDecayMode = 2);
99 declareProperty(
"ReadVertex", m_readVertex =
true);
100 declareProperty(
"RegHist", m_regHist = 1);
104 HepSymMatrix Evx(3, 0);
113 m_privxpar.
setVx(vx);
116 TString strDecayModeName[6] = {
"mBC",
"deltE",
"p",
"charm",
"mass",
"e"};
117 m_decayModeHistName[0] =
"mBC";
118 m_decayModeHistName[1] =
"deltE";
119 m_decayModeHistName[2] =
"mass";
120 for (
int i=0;i!=6;i++)
122 m_DecayModeItemName[i] = strDecayModeName[i];
128 TString strTrkName[10] = {
"px",
"py",
"pz",
"pp",
"vx",
"vy",
"vz",
"vr0",
"cos",
"E"};
129 m_TrackItemName[10] =
"Id";
130 for (
int i=0;i!=10;i++)
132 m_trackHistName[i] = strTrkName[i];
133 m_TrackItemName[i] = strTrkName[i];
135 TString strPhotonName[5] = {
"numHits",
"secondmoment",
"x",
"y",
"z"};
136 m_PhotonItemName[5] =
"Id_Emc";
137 for (
int i=0;i!=5;i++)
139 m_photonHistName[i] = strPhotonName[i];
140 m_PhotonItemName[i] = strPhotonName[i];
142 TString strTrkDedxName[6] = {
"chik",
"chipi",
"ghit",
"thit",
"probPH",
"normPH"};
143 for (
int i=0;i!=6;i++)
145 m_trackDedxHistName[i] = strTrkDedxName[i];
146 m_TrackDedxItemName[i] = strTrkDedxName[i];
148 m_TrackDedxItemName[6] =
"Id_Dedx";
149 TString strTrkTofName[6] = {
"br_toff_mu",
"br_toff_pi",
"br_toff_k",
"ec_toff_mu",
"ec_toff_pi",
"ec_toff_k" };
150 for (
int i=0;i!=6;i++)
152 m_trackTofHistName[i] = strTrkTofName[i];
153 m_TrackTofItemName[i] = strTrkTofName[i];
155 m_TrackTofItemName[6] =
"Id_tof";
156 m_TrackTofItemName[7] =
"ec_toff_isEast";
157 TString strKsName[4] = {
"vfitmass",
"mass",
"dLength",
"dLengthErrorRatio"};
158 for (
int i=0;i!=4;i++)
160 m_KsHistName[i] = strKsName[i];
161 m_KsItemName[i] = strKsName[i];
163 m_KsItemName[4] =
"pvchi2";
164 m_KsItemName[5] =
"svchi2";
165 TString strPi0Name[7] = {
"pi0mass",
"photon1_E",
"photon1_cos",
"photon2_E",
"photon2_cos",
"photon1_Id",
"photon2_Id"};
166 for (
int i=0;i!=5;i++)
168 m_Pi0HistName[i] = strPi0Name[i];
169 m_Pi0ItemName[i] = strPi0Name[i];
171 m_Pi0ItemName[5] =
"photon1_Id";
172 m_Pi0ItemName[6] =
"photon2_Id";
178 MsgStream log(
msgSvc(), name());
180 log << MSG::INFO <<
"in initialize()" << endmsg;
186 NTuplePtr nt2(
ntupleSvc(),
"DQAFILE/CheckVtx");
187 if ( nt2 ) m_tuple2 = nt2;
189 m_tuple2 =
ntupleSvc()->book (
"DQAFILE/CheckVtx", CLID_ColumnWiseTuple,
"ks N-Tuple example");
191 status = m_tuple2->addItem (
"vtxTrkId",m_vtxTrkId);
192 status = m_tuple2->addItem (
"vx0", m_vx0);
193 status = m_tuple2->addItem (
"vy0", m_vy0);
194 status = m_tuple2->addItem (
"vz0", m_vz0);
195 status = m_tuple2->addItem (
"vr0", m_vr0);
196 status = m_tuple2->addItem (
"vct", m_Vct);
199 log << MSG::ERROR <<
" Cannot book N-tuple:" << long(m_tuple2) << endmsg;
200 return StatusCode::FAILURE;
204 NTuplePtr nt4(
ntupleSvc(),
"DQAFILE/Dtag");
205 if ( nt4 ) m_tuple4 = nt4;
207 m_tuple4 =
ntupleSvc()->book (
"DQAFILE/Dtag", CLID_ColumnWiseTuple,
"ks N-Tuple example");
209 status = m_tuple4->addItem (
"run", m_run);
210 status = m_tuple4->addItem (
"rec", m_rec);
211 status = m_tuple4->addItem (
"nch", m_nch);
212 status = m_tuple4->addItem (
"nneu", m_nneu);
213 status = m_tuple4->addItem (
"numD0Mode", m_numD0Mode);
214 status = m_tuple4->addItem (
"D0_mBC", m_D0_mBC);
215 status = m_tuple4->addItem (
"D0_deltE", m_D0_deltE);
216 status = m_tuple4->addItem (
"D0_mass", m_D0_mass);
217 status = m_tuple4->addItem (
"numDCMode", m_numDCMode);
218 status = m_tuple4->addItem (
"DC_mBC", m_DC_mBC);
219 status = m_tuple4->addItem (
"DC_deltE", m_DC_deltE);
220 status = m_tuple4->addItem (
"DC_mass", m_DC_mass);
221 status = m_tuple4->addItem (
"numAllMode", m_numAllMode);
222 status = m_tuple4->addItem (
"DtagbeamE", m_dtagbeamE);
223 status = m_tuple4->addItem (
"mode", m_mode);
224 status = m_tuple4->addItem (
"charge", m_charge);
225 status = m_tuple4->addItem (
"charm", m_charm);
226 status = m_tuple4->addItem (
"numchildren", m_numofchildren);
227 status = m_tuple4->addItem (
"mass", m_mass);
228 status = m_tuple4->addItem (
"mBC", m_mBC);
229 status = m_tuple4->addItem (
"rflag", m_rflag);
230 status = m_tuple4->addItem (
"deltaE", m_deltae);
231 status = m_tuple4->addItem (
"E", m_e);
232 status = m_tuple4->addItem (
"p", m_p);
233 status = m_tuple4->addItem (
"p_CMS", m_p_CMS);
234 status = m_tuple4->addItem (
"p4_CMS", 4, m_p4_CMS);
235 status = m_tuple4->addItem (
"notherTrk", m_nothertrk);
236 status = m_tuple4->addItem (
"nTrk", m_ntrk);
237 status = m_tuple4->addItem (
"nothershower", m_nothershower);
238 status = m_tuple4->addItem (
"nshower", m_nshower);
239 status = m_tuple4->addItem (
"recNumD02KPi", m_recNumD02KPi);
240 status = m_tuple4->addItem (
"D02KPi_e", m_D02KPi_e);
241 status = m_tuple4->addItem (
"D02KPi_p", m_D02KPi_p);
242 status = m_tuple4->addItem (
"D02KPi_mBC", m_D02KPi_mBC);
243 status = m_tuple4->addItem (
"D02KPi_mass", m_D02KPi_mass);
244 status = m_tuple4->addItem (
"D02KPi_deltE", m_D02KPi_deltE);
245 status = m_tuple4->addItem (
"D02KPi_charm", m_D02KPi_charm);
246 status = m_tuple4->addItem (
"D02KPi_kaon_pp", m_D02KPi_kaon_pp);
247 status = m_tuple4->addItem (
"D02KPi_pion_pp", m_D02KPi_pion_pp);
248 status = m_tuple4->addItem (
"D02KPi_kaon_vx", m_D02KPi_kaon_vx);
249 status = m_tuple4->addItem (
"D02KPi_kaon_vy", m_D02KPi_kaon_vy);
250 status = m_tuple4->addItem (
"D02KPi_kaon_vz", m_D02KPi_kaon_vz);
251 status = m_tuple4->addItem (
"D02KPi_kaon_vr0", m_D02KPi_kaon_vr0);
252 status = m_tuple4->addItem (
"D02KPi_kaon_px", m_D02KPi_kaon_px);
253 status = m_tuple4->addItem (
"D02KPi_kaon_py", m_D02KPi_kaon_py);
254 status = m_tuple4->addItem (
"D02KPi_kaon_pz", m_D02KPi_kaon_pz);
255 status = m_tuple4->addItem (
"D02KPi_kaon_E", m_D02KPi_kaon_E);
256 status = m_tuple4->addItem (
"D02KPi_kaon_cos", m_D02KPi_kaon_cos);
257 status = m_tuple4->addItem (
"D02KPi_pion_vx", m_D02KPi_pion_vx);
258 status = m_tuple4->addItem (
"D02KPi_pion_vy", m_D02KPi_pion_vy);
259 status = m_tuple4->addItem (
"D02KPi_pion_vz", m_D02KPi_pion_vz);
260 status = m_tuple4->addItem (
"D02KPi_pion_vr0", m_D02KPi_pion_vr0);
261 status = m_tuple4->addItem (
"D02KPi_pion_px", m_D02KPi_pion_px);
262 status = m_tuple4->addItem (
"D02KPi_pion_py", m_D02KPi_pion_py);
263 status = m_tuple4->addItem (
"D02KPi_pion_pz", m_D02KPi_pion_pz);
264 status = m_tuple4->addItem (
"D02KPi_pion_E", m_D02KPi_pion_E);
265 status = m_tuple4->addItem (
"D02KPi_pion_cos", m_D02KPi_pion_cos);
266 status = m_tuple4->addItem (
"D02KPi_kaon_Id", m_D02KPi_kaon_Id);
267 status = m_tuple4->addItem (
"D02KPi_pion_Id", m_D02KPi_pion_Id);
268 status = m_tuple4->addItem (
"recNumD02KPiPi0", m_recNumD02KPiPi0);
269 status = m_tuple4->addItem (
"D02KPiPi0_e", m_D02KPiPi0_e);
270 status = m_tuple4->addItem (
"D02KPiPi0_p", m_D02KPiPi0_p);
271 status = m_tuple4->addItem (
"D02KPiPi0_mBC", m_D02KPiPi0_mBC);
272 status = m_tuple4->addItem (
"D02KPiPi0_mass", m_D02KPiPi0_mass);
273 status = m_tuple4->addItem (
"D02KPiPi0_deltE", m_D02KPiPi0_deltE);
274 status = m_tuple4->addItem (
"D02KPiPi0_charm", m_D02KPiPi0_charm);
275 status = m_tuple4->addItem (
"D02KPiPi0_kaon_pp", m_D02KPiPi0_kaon_pp);
276 status = m_tuple4->addItem (
"D02KPiPi0_pion_pp", m_D02KPiPi0_pion_pp);
277 status = m_tuple4->addItem (
"D02KPiPi0_kaon_Id", m_D02KPiPi0_kaon_Id);
278 status = m_tuple4->addItem (
"D02KPiPi0_pion_Id", m_D02KPiPi0_pion_Id);
279 status = m_tuple4->addItem (
"D02KPiPi0_kaon_vx", m_D02KPiPi0_kaon_vx);
280 status = m_tuple4->addItem (
"D02KPiPi0_kaon_vy", m_D02KPiPi0_kaon_vy);
281 status = m_tuple4->addItem (
"D02KPiPi0_kaon_vz", m_D02KPiPi0_kaon_vz);
282 status = m_tuple4->addItem (
"D02KPiPi0_kaon_vr0", m_D02KPiPi0_kaon_vr0);
283 status = m_tuple4->addItem (
"D02KPiPi0_kaon_px", m_D02KPiPi0_kaon_px);
284 status = m_tuple4->addItem (
"D02KPiPi0_kaon_py", m_D02KPiPi0_kaon_py);
285 status = m_tuple4->addItem (
"D02KPiPi0_kaon_pz", m_D02KPiPi0_kaon_pz);
286 status = m_tuple4->addItem (
"D02KPiPi0_kaon_E", m_D02KPiPi0_kaon_E);
287 status = m_tuple4->addItem (
"D02KPiPi0_kaon_cos", m_D02KPiPi0_kaon_cos);
288 status = m_tuple4->addItem (
"D02KPiPi0_pion_vx", m_D02KPiPi0_pion_vx);
289 status = m_tuple4->addItem (
"D02KPiPi0_pion_vy", m_D02KPiPi0_pion_vy);
290 status = m_tuple4->addItem (
"D02KPiPi0_pion_vz", m_D02KPiPi0_pion_vz);
291 status = m_tuple4->addItem (
"D02KPiPi0_pion_vr0", m_D02KPiPi0_pion_vr0);
292 status = m_tuple4->addItem (
"D02KPiPi0_pion_px", m_D02KPiPi0_pion_px);
293 status = m_tuple4->addItem (
"D02KPiPi0_pion_py", m_D02KPiPi0_pion_py);
294 status = m_tuple4->addItem (
"D02KPiPi0_pion_pz", m_D02KPiPi0_pion_pz);
295 status = m_tuple4->addItem (
"D02KPiPi0_pion_E", m_D02KPiPi0_pion_E);
296 status = m_tuple4->addItem (
"D02KPiPi0_pion_cos", m_D02KPiPi0_pion_cos);
297 status = m_tuple4->addItem (
"D02KPiPi0_pi0mass", m_D02KPiPi0_pi0mass);
298 status = m_tuple4->addItem (
"D02KPiPi0_photon1_Id", m_D02KPiPi0_photon1_Id);
299 status = m_tuple4->addItem (
"D02KPiPi0_photon2_Id", m_D02KPiPi0_photon2_Id);
300 status = m_tuple4->addItem (
"D02KPiPi0_photon1_E", m_D02KPiPi0_photon1_E);
301 status = m_tuple4->addItem (
"D02KPiPi0_photon2_E", m_D02KPiPi0_photon2_E);
302 status = m_tuple4->addItem (
"D02KPiPi0_photon1_cos", m_D02KPiPi0_photon1_cos);
303 status = m_tuple4->addItem (
"D02KPiPi0_photon2_cos", m_D02KPiPi0_photon2_cos);
304 status = m_tuple4->addItem (
"recNumD02KPiPiPi", m_recNumD02KPiPiPi);
305 status = m_tuple4->addItem (
"D02KPiPiPi_e", m_D02KPiPiPi_e);
306 status = m_tuple4->addItem (
"D02KPiPiPi_p", m_D02KPiPiPi_p);
307 status = m_tuple4->addItem (
"D02KPiPiPi_mBC", m_D02KPiPiPi_mBC);
308 status = m_tuple4->addItem (
"D02KPiPiPi_mass", m_D02KPiPiPi_mass);
309 status = m_tuple4->addItem (
"D02KPiPiPi_deltE", m_D02KPiPiPi_deltE);
310 status = m_tuple4->addItem (
"D02KPiPiPi_charm", m_D02KPiPiPi_charm);
311 status = m_tuple4->addItem (
"D02KPiPiPi_kaon_pp", m_D02KPiPiPi_kaon_pp);
312 status = m_tuple4->addItem (
"D02KPiPiPi_pion1_pp", m_D02KPiPiPi_pion1_pp);
313 status = m_tuple4->addItem (
"D02KPiPiPi_pion2_pp", m_D02KPiPiPi_pion2_pp);
314 status = m_tuple4->addItem (
"D02KPiPiPi_pion3_pp", m_D02KPiPiPi_pion3_pp);
315 status = m_tuple4->addItem (
"D02KPiPiPi_kaon_Id", m_D02KPiPiPi_kaon_Id);
316 status = m_tuple4->addItem (
"D02KPiPiPi_pion1_Id", m_D02KPiPiPi_pion1_Id);
317 status = m_tuple4->addItem (
"D02KPiPiPi_pion2_Id", m_D02KPiPiPi_pion2_Id);
318 status = m_tuple4->addItem (
"D02KPiPiPi_pion3_Id", m_D02KPiPiPi_pion3_Id);
319 status = m_tuple4->addItem (
"recNumD02KPiPiPiPi0", m_recNumD02KPiPiPiPi0);
320 status = m_tuple4->addItem (
"D02KPiPiPiPi0_e", m_D02KPiPiPiPi0_e);
321 status = m_tuple4->addItem (
"D02KPiPiPiPi0_p", m_D02KPiPiPiPi0_p);
322 status = m_tuple4->addItem (
"D02KPiPiPiPi0_mBC", m_D02KPiPiPiPi0_mBC);
323 status = m_tuple4->addItem (
"D02KPiPiPiPi0_mass", m_D02KPiPiPiPi0_mass);
324 status = m_tuple4->addItem (
"D02KPiPiPiPi0_deltE", m_D02KPiPiPiPi0_deltE);
325 status = m_tuple4->addItem (
"D02KPiPiPiPi0_charm", m_D02KPiPiPiPi0_charm);
326 status = m_tuple4->addItem (
"D02KPiPiPiPi0_kaon_pp", m_D02KPiPiPiPi0_kaon_pp);
327 status = m_tuple4->addItem (
"D02KPiPiPiPi0_pion1_pp", m_D02KPiPiPiPi0_pion1_pp);
328 status = m_tuple4->addItem (
"D02KPiPiPiPi0_pion2_pp", m_D02KPiPiPiPi0_pion2_pp);
329 status = m_tuple4->addItem (
"D02KPiPiPiPi0_pion3_pp", m_D02KPiPiPiPi0_pion3_pp);
330 status = m_tuple4->addItem (
"D02KPiPiPiPi0_kaon_Id", m_D02KPiPiPiPi0_kaon_Id);
331 status = m_tuple4->addItem (
"D02KPiPiPiPi0_pion1_Id", m_D02KPiPiPiPi0_pion1_Id);
332 status = m_tuple4->addItem (
"D02KPiPiPiPi0_pion2_Id", m_D02KPiPiPiPi0_pion2_Id);
333 status = m_tuple4->addItem (
"D02KPiPiPiPi0_pion3_Id", m_D02KPiPiPiPi0_pion3_Id);
334 status = m_tuple4->addItem (
"D02KPiPiPiPi0_pi0mass", m_D02KPiPiPiPi0_pi0mass);
335 status = m_tuple4->addItem (
"D02KPiPiPiPi0_photon1_Id", m_D02KPiPiPiPi0_photon1_Id);
336 status = m_tuple4->addItem (
"D02KPiPiPiPi0_photon2_Id", m_D02KPiPiPiPi0_photon2_Id);
337 status = m_tuple4->addItem (
"D02KPiPiPiPi0_photon1_E", m_D02KPiPiPiPi0_photon1_E);
338 status = m_tuple4->addItem (
"D02KPiPiPiPi0_photon2_E", m_D02KPiPiPiPi0_photon2_E);
339 status = m_tuple4->addItem (
"D02KPiPiPiPi0_photon1_cos", m_D02KPiPiPiPi0_photon1_cos);
340 status = m_tuple4->addItem (
"D02KPiPiPiPi0_photon2_cos", m_D02KPiPiPiPi0_photon2_cos);
341 status = m_tuple4->addItem (
"recNumD02KsPiPi", m_recNumD02KsPiPi);
342 status = m_tuple4->addItem (
"D02KsPiPi_e", m_D02KsPiPi_e);
343 status = m_tuple4->addItem (
"D02KsPiPi_p", m_D02KsPiPi_p);
344 status = m_tuple4->addItem (
"D02KsPiPi_mBC", m_D02KsPiPi_mBC);
345 status = m_tuple4->addItem (
"D02KsPiPi_mass", m_D02KsPiPi_mass);
346 status = m_tuple4->addItem (
"D02KsPiPi_deltE", m_D02KsPiPi_deltE);
347 status = m_tuple4->addItem (
"D02KsPiPi_charm", m_D02KsPiPi_charm);
348 status = m_tuple4->addItem (
"D02KsPiPi_pion1_pp", m_D02KsPiPi_pion1_pp);
349 status = m_tuple4->addItem (
"D02KsPiPi_pion2_pp", m_D02KsPiPi_pion2_pp);
350 status = m_tuple4->addItem (
"D02KsPiPi_pion3_pp", m_D02KsPiPi_pion3_pp);
351 status = m_tuple4->addItem (
"D02KsPiPi_pion4_pp", m_D02KsPiPi_pion4_pp);
352 status = m_tuple4->addItem (
"D02KsPiPi_pion1_Id", m_D02KsPiPi_pion1_Id);
353 status = m_tuple4->addItem (
"D02KsPiPi_pion2_Id", m_D02KsPiPi_pion2_Id);
354 status = m_tuple4->addItem (
"D02KsPiPi_pion3_Id", m_D02KsPiPi_pion3_Id);
355 status = m_tuple4->addItem (
"D02KsPiPi_pion4_Id", m_D02KsPiPi_pion4_Id);
356 status = m_tuple4->addItem (
"D02KsPiPi_pion1_vx", m_D02KsPiPi_pion1_vx);
357 status = m_tuple4->addItem (
"D02KsPiPi_pion1_vy", m_D02KsPiPi_pion1_vy);
358 status = m_tuple4->addItem (
"D02KsPiPi_pion1_vz", m_D02KsPiPi_pion1_vz);
359 status = m_tuple4->addItem (
"D02KsPiPi_pion1_vr0", m_D02KsPiPi_pion1_vr0);
360 status = m_tuple4->addItem (
"D02KsPiPi_pion1_px", m_D02KsPiPi_pion1_px);
361 status = m_tuple4->addItem (
"D02KsPiPi_pion1_py", m_D02KsPiPi_pion1_py);
362 status = m_tuple4->addItem (
"D02KsPiPi_pion1_pz", m_D02KsPiPi_pion1_pz);
363 status = m_tuple4->addItem (
"D02KsPiPi_pion1_pp", m_D02KsPiPi_pion1_pp);
364 status = m_tuple4->addItem (
"D02KsPiPi_pion1_E", m_D02KsPiPi_pion1_E);
365 status = m_tuple4->addItem (
"D02KsPiPi_pion1_cos", m_D02KsPiPi_pion1_cos);
366 status = m_tuple4->addItem (
"D02KsPiPi_pion2_vx", m_D02KsPiPi_pion2_vx);
367 status = m_tuple4->addItem (
"D02KsPiPi_pion2_vy", m_D02KsPiPi_pion2_vy);
368 status = m_tuple4->addItem (
"D02KsPiPi_pion2_vz", m_D02KsPiPi_pion2_vz);
369 status = m_tuple4->addItem (
"D02KsPiPi_pion2_vr0", m_D02KsPiPi_pion2_vr0);
370 status = m_tuple4->addItem (
"D02KsPiPi_pion2_px", m_D02KsPiPi_pion2_px);
371 status = m_tuple4->addItem (
"D02KsPiPi_pion2_py", m_D02KsPiPi_pion2_py);
372 status = m_tuple4->addItem (
"D02KsPiPi_pion2_pz", m_D02KsPiPi_pion2_pz);
373 status = m_tuple4->addItem (
"D02KsPiPi_pion2_pp", m_D02KsPiPi_pion2_pp);
374 status = m_tuple4->addItem (
"D02KsPiPi_pion2_E", m_D02KsPiPi_pion2_E);
375 status = m_tuple4->addItem (
"D02KsPiPi_pion2_cos", m_D02KsPiPi_pion2_cos);
376 status = m_tuple4->addItem (
"D02KsPiPi_pion3_vx", m_D02KsPiPi_pion3_vx);
377 status = m_tuple4->addItem (
"D02KsPiPi_pion3_vy", m_D02KsPiPi_pion3_vy);
378 status = m_tuple4->addItem (
"D02KsPiPi_pion3_vz", m_D02KsPiPi_pion3_vz);
379 status = m_tuple4->addItem (
"D02KsPiPi_pion3_vr0", m_D02KsPiPi_pion3_vr0);
380 status = m_tuple4->addItem (
"D02KsPiPi_pion3_px", m_D02KsPiPi_pion3_px);
381 status = m_tuple4->addItem (
"D02KsPiPi_pion3_py", m_D02KsPiPi_pion3_py);
382 status = m_tuple4->addItem (
"D02KsPiPi_pion3_pz", m_D02KsPiPi_pion3_pz);
383 status = m_tuple4->addItem (
"D02KsPiPi_pion3_pp", m_D02KsPiPi_pion3_pp);
384 status = m_tuple4->addItem (
"D02KsPiPi_pion3_E", m_D02KsPiPi_pion3_E);
385 status = m_tuple4->addItem (
"D02KsPiPi_pion3_cos", m_D02KsPiPi_pion3_cos);
386 status = m_tuple4->addItem (
"D02KsPiPi_pion4_vx", m_D02KsPiPi_pion4_vx);
387 status = m_tuple4->addItem (
"D02KsPiPi_pion4_vy", m_D02KsPiPi_pion4_vy);
388 status = m_tuple4->addItem (
"D02KsPiPi_pion4_vz", m_D02KsPiPi_pion4_vz);
389 status = m_tuple4->addItem (
"D02KsPiPi_pion4_vr0", m_D02KsPiPi_pion4_vr0);
390 status = m_tuple4->addItem (
"D02KsPiPi_pion4_px", m_D02KsPiPi_pion4_px);
391 status = m_tuple4->addItem (
"D02KsPiPi_pion4_py", m_D02KsPiPi_pion4_py);
392 status = m_tuple4->addItem (
"D02KsPiPi_pion4_pz", m_D02KsPiPi_pion4_pz);
393 status = m_tuple4->addItem (
"D02KsPiPi_pion4_pp", m_D02KsPiPi_pion4_pp);
394 status = m_tuple4->addItem (
"D02KsPiPi_pion4_E", m_D02KsPiPi_pion4_E);
395 status = m_tuple4->addItem (
"D02KsPiPi_pion4_cos", m_D02KsPiPi_pion4_cos);
396 status = m_tuple4->addItem (
"D02KsPiPi_ks_mass", m_D02KsPiPi_ks_mass);
397 status = m_tuple4->addItem (
"D02KsPiPi_ks_vfitmass", m_D02KsPiPi_ks_vfitmass);
398 status = m_tuple4->addItem (
"D02KsPiPi_ks_pvchi2", m_D02KsPiPi_ks_pvchi2);
399 status = m_tuple4->addItem (
"D02KsPiPi_ks_svchi2", m_D02KsPiPi_ks_svchi2);
400 status = m_tuple4->addItem (
"D02KsPiPi_ks_dLength", m_D02KsPiPi_ks_dLength);
401 status = m_tuple4->addItem (
"D02KsPiPi_ks_dLengthErrorRatio", m_D02KsPiPi_ks_dLengthErrorRatio);
402 status = m_tuple4->addItem (
"recNumD02KsPiPiPi0", m_recNumD02KsPiPiPi0);
403 status = m_tuple4->addItem (
"D02KsPiPiPi0_e", m_D02KsPiPiPi0_e);
404 status = m_tuple4->addItem (
"D02KsPiPiPi0_p", m_D02KsPiPiPi0_p);
405 status = m_tuple4->addItem (
"D02KsPiPiPi0_mBC", m_D02KsPiPiPi0_mBC);
406 status = m_tuple4->addItem (
"D02KsPiPiPi0_mass", m_D02KsPiPiPi0_mass);
407 status = m_tuple4->addItem (
"D02KsPiPiPi0_deltE", m_D02KsPiPiPi0_deltE);
408 status = m_tuple4->addItem (
"D02KsPiPiPi0_charm", m_D02KsPiPiPi0_charm);
409 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion1_pp", m_D02KsPiPiPi0_pion1_pp);
410 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion2_pp", m_D02KsPiPiPi0_pion2_pp);
411 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion3_pp", m_D02KsPiPiPi0_pion3_pp);
412 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion4_pp", m_D02KsPiPiPi0_pion4_pp);
413 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion1_Id", m_D02KsPiPiPi0_pion1_Id);
414 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion2_Id", m_D02KsPiPiPi0_pion2_Id);
415 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion3_Id", m_D02KsPiPiPi0_pion3_Id);
416 status = m_tuple4->addItem (
"D02KsPiPiPi0_pion4_Id", m_D02KsPiPiPi0_pion4_Id);
417 status = m_tuple4->addItem (
"D02KsPiPiPi0_pi0mass", m_D02KsPiPiPi0_pi0mass);
418 status = m_tuple4->addItem (
"D02KsPiPiPi0_photon1_Id", m_D02KsPiPiPi0_photon1_Id);
419 status = m_tuple4->addItem (
"D02KsPiPiPi0_photon2_Id", m_D02KsPiPiPi0_photon2_Id);
420 status = m_tuple4->addItem (
"D02KsPiPiPi0_photon1_E", m_D02KsPiPiPi0_photon1_E);
421 status = m_tuple4->addItem (
"D02KsPiPiPi0_photon2_E", m_D02KsPiPiPi0_photon2_E);
422 status = m_tuple4->addItem (
"D02KsPiPiPi0_photon1_cos", m_D02KsPiPiPi0_photon1_cos);
423 status = m_tuple4->addItem (
"D02KsPiPiPi0_photon2_cos", m_D02KsPiPiPi0_photon2_cos);
424 status = m_tuple4->addItem (
"D02KsPiPiPi0_ks_mass", m_D02KsPiPiPi0_ks_mass);
425 status = m_tuple4->addItem (
"D02KsPiPiPi0_ks_vfitmass", m_D02KsPiPiPi0_ks_vfitmass);
426 status = m_tuple4->addItem (
"D02KsPiPiPi0_ks_pvchi2", m_D02KsPiPiPi0_ks_pvchi2);
427 status = m_tuple4->addItem (
"D02KsPiPiPi0_ks_svchi2", m_D02KsPiPiPi0_ks_svchi2);
428 status = m_tuple4->addItem (
"D02KsPiPiPi0_ks_dLength", m_D02KsPiPiPi0_ks_dLength);
429 status = m_tuple4->addItem (
"D02KsPiPiPi0_ks_dLengthErrorRatio", m_D02KsPiPiPi0_ks_dLengthErrorRatio);
430 status = m_tuple4->addItem (
"recNumDC2KPiPi", m_recNumDC2KPiPi);
431 status = m_tuple4->addItem (
"DC2KPiPi_e", m_DC2KPiPi_e);
432 status = m_tuple4->addItem (
"DC2KPiPi_p", m_DC2KPiPi_p);
433 status = m_tuple4->addItem (
"DC2KPiPi_mBC", m_DC2KPiPi_mBC);
434 status = m_tuple4->addItem (
"DC2KPiPi_mass", m_DC2KPiPi_mass);
435 status = m_tuple4->addItem (
"DC2KPiPi_deltE", m_DC2KPiPi_deltE);
436 status = m_tuple4->addItem (
"DC2KPiPi_charge", m_DC2KPiPi_charge);
437 status = m_tuple4->addItem (
"DC2KPiPi_charm", m_DC2KPiPi_charm);
438 status = m_tuple4->addItem (
"DC2KPiPi_kaon_pp", m_DC2KPiPi_kaon_pp);
439 status = m_tuple4->addItem (
"DC2KPiPi_pion1_pp", m_DC2KPiPi_pion1_pp);
440 status = m_tuple4->addItem (
"DC2KPiPi_pion2_pp", m_DC2KPiPi_pion2_pp);
441 status = m_tuple4->addItem (
"DC2KPiPi_kaon_Id", m_DC2KPiPi_kaon_Id);
442 status = m_tuple4->addItem (
"DC2KPiPi_pion1_Id", m_DC2KPiPi_pion1_Id);
443 status = m_tuple4->addItem (
"DC2KPiPi_pion2_Id", m_DC2KPiPi_pion2_Id);
444 status = m_tuple4->addItem (
"DC2KPiPi_kaon_vx", m_DC2KPiPi_kaon_vx);
445 status = m_tuple4->addItem (
"DC2KPiPi_kaon_vy", m_DC2KPiPi_kaon_vy);
446 status = m_tuple4->addItem (
"DC2KPiPi_kaon_vz", m_DC2KPiPi_kaon_vz);
447 status = m_tuple4->addItem (
"DC2KPiPi_kaon_vr0", m_DC2KPiPi_kaon_vr0);
448 status = m_tuple4->addItem (
"DC2KPiPi_kaon_px", m_DC2KPiPi_kaon_px);
449 status = m_tuple4->addItem (
"DC2KPiPi_kaon_py", m_DC2KPiPi_kaon_py);
450 status = m_tuple4->addItem (
"DC2KPiPi_kaon_pz", m_DC2KPiPi_kaon_pz);
451 status = m_tuple4->addItem (
"DC2KPiPi_kaon_E", m_DC2KPiPi_kaon_E);
452 status = m_tuple4->addItem (
"DC2KPiPi_kaon_cos", m_DC2KPiPi_kaon_cos);
453 status = m_tuple4->addItem (
"DC2KPiPi_pion1_vx", m_DC2KPiPi_pion1_vx);
454 status = m_tuple4->addItem (
"DC2KPiPi_pion1_vy", m_DC2KPiPi_pion1_vy);
455 status = m_tuple4->addItem (
"DC2KPiPi_pion1_vz", m_DC2KPiPi_pion1_vz);
456 status = m_tuple4->addItem (
"DC2KPiPi_pion1_vr0", m_DC2KPiPi_pion1_vr0);
457 status = m_tuple4->addItem (
"DC2KPiPi_pion1_px", m_DC2KPiPi_pion1_px);
458 status = m_tuple4->addItem (
"DC2KPiPi_pion1_py", m_DC2KPiPi_pion1_py);
459 status = m_tuple4->addItem (
"DC2KPiPi_pion1_pz", m_DC2KPiPi_pion1_pz);
460 status = m_tuple4->addItem (
"DC2KPiPi_pion1_E", m_DC2KPiPi_pion1_E);
461 status = m_tuple4->addItem (
"DC2KPiPi_pion1_cos", m_DC2KPiPi_pion1_cos);
462 status = m_tuple4->addItem (
"DC2KPiPi_pion2_vx", m_DC2KPiPi_pion2_vx);
463 status = m_tuple4->addItem (
"DC2KPiPi_pion2_vy", m_DC2KPiPi_pion2_vy);
464 status = m_tuple4->addItem (
"DC2KPiPi_pion2_vz", m_DC2KPiPi_pion2_vz);
465 status = m_tuple4->addItem (
"DC2KPiPi_pion2_vr0", m_DC2KPiPi_pion2_vr0);
466 status = m_tuple4->addItem (
"DC2KPiPi_pion2_px", m_DC2KPiPi_pion2_px);
467 status = m_tuple4->addItem (
"DC2KPiPi_pion2_py", m_DC2KPiPi_pion2_py);
468 status = m_tuple4->addItem (
"DC2KPiPi_pion2_pz", m_DC2KPiPi_pion2_pz);
469 status = m_tuple4->addItem (
"DC2KPiPi_pion2_E", m_DC2KPiPi_pion2_E);
470 status = m_tuple4->addItem (
"DC2KPiPi_pion2_cos", m_DC2KPiPi_pion2_cos);
471 status = m_tuple4->addItem (
"recNumDC2KPiPiPi0", m_recNumDC2KPiPiPi0);
472 status = m_tuple4->addItem (
"DC2KPiPiPi0_e", m_DC2KPiPiPi0_e);
473 status = m_tuple4->addItem (
"DC2KPiPiPi0_p", m_DC2KPiPiPi0_p);
474 status = m_tuple4->addItem (
"DC2KPiPiPi0_mBC", m_DC2KPiPiPi0_mBC);
475 status = m_tuple4->addItem (
"DC2KPiPiPi0_mass", m_DC2KPiPiPi0_mass);
476 status = m_tuple4->addItem (
"DC2KPiPiPi0_deltE", m_DC2KPiPiPi0_deltE);
477 status = m_tuple4->addItem (
"DC2KPiPiPi0_charge", m_DC2KPiPiPi0_charge);
478 status = m_tuple4->addItem (
"DC2KPiPiPi0_charm", m_DC2KPiPiPi0_charm);
479 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_pp", m_DC2KPiPiPi0_kaon_pp);
480 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_pp", m_DC2KPiPiPi0_pion1_pp);
481 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_pp", m_DC2KPiPiPi0_pion2_pp);
482 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_Id", m_DC2KPiPiPi0_kaon_Id);
483 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_Id", m_DC2KPiPiPi0_pion1_Id);
484 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_Id", m_DC2KPiPiPi0_pion2_Id);
485 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_vx", m_DC2KPiPiPi0_kaon_vx);
486 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_vy", m_DC2KPiPiPi0_kaon_vy);
487 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_vz", m_DC2KPiPiPi0_kaon_vz);
488 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_vr0", m_DC2KPiPiPi0_kaon_vr0);
489 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_px", m_DC2KPiPiPi0_kaon_px);
490 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_py", m_DC2KPiPiPi0_kaon_py);
491 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_pz", m_DC2KPiPiPi0_kaon_pz);
492 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_E", m_DC2KPiPiPi0_kaon_E);
493 status = m_tuple4->addItem (
"DC2KPiPiPi0_kaon_cos", m_DC2KPiPiPi0_kaon_cos);
494 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_vx", m_DC2KPiPiPi0_pion1_vx);
495 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_vy", m_DC2KPiPiPi0_pion1_vy);
496 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_vz", m_DC2KPiPiPi0_pion1_vz);
497 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_vr0", m_DC2KPiPiPi0_pion1_vr0);
498 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_px", m_DC2KPiPiPi0_pion1_px);
499 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_py", m_DC2KPiPiPi0_pion1_py);
500 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_pz", m_DC2KPiPiPi0_pion1_pz);
501 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_E", m_DC2KPiPiPi0_pion1_E);
502 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion1_cos", m_DC2KPiPiPi0_pion1_cos);
503 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_vx", m_DC2KPiPiPi0_pion2_vx);
504 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_vy", m_DC2KPiPiPi0_pion2_vy);
505 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_vz", m_DC2KPiPiPi0_pion2_vz);
506 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_vr0", m_DC2KPiPiPi0_pion2_vr0);
507 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_px", m_DC2KPiPiPi0_pion2_px);
508 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_py", m_DC2KPiPiPi0_pion2_py);
509 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_pz", m_DC2KPiPiPi0_pion2_pz);
510 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_E", m_DC2KPiPiPi0_pion2_E);
511 status = m_tuple4->addItem (
"DC2KPiPiPi0_pion2_cos", m_DC2KPiPiPi0_pion2_cos);
512 status = m_tuple4->addItem (
"DC2KPiPiPi0_pi0mass", m_DC2KPiPiPi0_pi0mass);
513 status = m_tuple4->addItem (
"DC2KPiPiPi0_photon1_Id", m_DC2KPiPiPi0_photon1_Id);
514 status = m_tuple4->addItem (
"DC2KPiPiPi0_photon2_Id", m_DC2KPiPiPi0_photon2_Id);
515 status = m_tuple4->addItem (
"DC2KPiPiPi0_photon1_E", m_DC2KPiPiPi0_photon1_E);
516 status = m_tuple4->addItem (
"DC2KPiPiPi0_photon2_E", m_DC2KPiPiPi0_photon2_E);
517 status = m_tuple4->addItem (
"DC2KPiPiPi0_photon1_cos", m_DC2KPiPiPi0_photon1_cos);
518 status = m_tuple4->addItem (
"DC2KPiPiPi0_photon2_cos", m_DC2KPiPiPi0_photon2_cos);
519 status = m_tuple4->addItem (
"recNumDC2KsPiPi0", m_recNumDC2KsPiPi0);
520 status = m_tuple4->addItem (
"DC2KsPiPi0_e", m_DC2KsPiPi0_e);
521 status = m_tuple4->addItem (
"DC2KsPiPi0_p", m_DC2KsPiPi0_p);
522 status = m_tuple4->addItem (
"DC2KsPiPi0_mBC", m_DC2KsPiPi0_mBC);
523 status = m_tuple4->addItem (
"DC2KsPiPi0_mass", m_DC2KsPiPi0_mass);
524 status = m_tuple4->addItem (
"DC2KsPiPi0_deltE", m_DC2KsPiPi0_deltE);
525 status = m_tuple4->addItem (
"DC2KsPiPi0_charge", m_DC2KsPiPi0_charge);
526 status = m_tuple4->addItem (
"DC2KsPiPi0_charm", m_DC2KsPiPi0_charm);
527 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_pp", m_DC2KsPiPi0_pion1_pp);
528 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_pp", m_DC2KsPiPi0_pion2_pp);
529 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_pp", m_DC2KsPiPi0_pion3_pp);
530 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_Id", m_DC2KsPiPi0_pion1_Id);
531 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_Id", m_DC2KsPiPi0_pion2_Id);
532 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_Id", m_DC2KsPiPi0_pion3_Id);
533 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_vx", m_DC2KsPiPi0_pion1_vx);
534 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_vy", m_DC2KsPiPi0_pion1_vy);
535 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_vz", m_DC2KsPiPi0_pion1_vz);
536 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_vr0", m_DC2KsPiPi0_pion1_vr0);
537 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_px", m_DC2KsPiPi0_pion1_px);
538 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_py", m_DC2KsPiPi0_pion1_py);
539 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_pz", m_DC2KsPiPi0_pion1_pz);
540 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_E", m_DC2KsPiPi0_pion1_E);
541 status = m_tuple4->addItem (
"DC2KsPiPi0_pion1_cos", m_DC2KsPiPi0_pion1_cos);
542 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_vx", m_DC2KsPiPi0_pion2_vx);
543 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_vy", m_DC2KsPiPi0_pion2_vy);
544 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_vz", m_DC2KsPiPi0_pion2_vz);
545 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_vr0", m_DC2KsPiPi0_pion2_vr0);
546 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_px", m_DC2KsPiPi0_pion2_px);
547 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_py", m_DC2KsPiPi0_pion2_py);
548 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_pz", m_DC2KsPiPi0_pion2_pz);
549 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_E", m_DC2KsPiPi0_pion2_E);
550 status = m_tuple4->addItem (
"DC2KsPiPi0_pion2_cos", m_DC2KsPiPi0_pion2_cos);
551 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_vx", m_DC2KsPiPi0_pion3_vx);
552 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_vy", m_DC2KsPiPi0_pion3_vy);
553 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_vz", m_DC2KsPiPi0_pion3_vz);
554 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_vr0", m_DC2KsPiPi0_pion3_vr0);
555 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_px", m_DC2KsPiPi0_pion3_px);
556 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_py", m_DC2KsPiPi0_pion3_py);
557 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_pz", m_DC2KsPiPi0_pion3_pz);
558 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_E", m_DC2KsPiPi0_pion3_E);
559 status = m_tuple4->addItem (
"DC2KsPiPi0_pion3_cos", m_DC2KsPiPi0_pion3_cos);
560 status = m_tuple4->addItem (
"DC2KsPiPi0_pi0mass", m_DC2KsPiPi0_pi0mass);
561 status = m_tuple4->addItem (
"DC2KsPiPi0_photon1_Id", m_DC2KsPiPi0_photon1_Id);
562 status = m_tuple4->addItem (
"DC2KsPiPi0_photon2_Id", m_DC2KsPiPi0_photon2_Id);
563 status = m_tuple4->addItem (
"DC2KsPiPi0_photon1_E", m_DC2KsPiPi0_photon1_E);
564 status = m_tuple4->addItem (
"DC2KsPiPi0_photon2_E", m_DC2KsPiPi0_photon2_E);
565 status = m_tuple4->addItem (
"DC2KsPiPi0_photon1_cos", m_DC2KsPiPi0_photon1_cos);
566 status = m_tuple4->addItem (
"DC2KsPiPi0_photon2_cos", m_DC2KsPiPi0_photon2_cos);
567 status = m_tuple4->addItem (
"DC2KsPiPi0_ks_mass", m_DC2KsPiPi0_ks_mass);
568 status = m_tuple4->addItem (
"DC2KsPiPi0_ks_vfitmass", m_DC2KsPiPi0_ks_vfitmass);
569 status = m_tuple4->addItem (
"DC2KsPiPi0_ks_pvchi2", m_DC2KsPiPi0_ks_pvchi2);
570 status = m_tuple4->addItem (
"DC2KsPiPi0_ks_svchi2", m_DC2KsPiPi0_ks_svchi2);
571 status = m_tuple4->addItem (
"DC2KsPiPi0_ks_dLength", m_DC2KsPiPi0_ks_dLength);
572 status = m_tuple4->addItem (
"DC2KsPiPi0_ks_dLengthErrorRatio", m_DC2KsPiPi0_ks_dLengthErrorRatio);
573 status = m_tuple4->addItem (
"recNumDC2KsPiPiPi", m_recNumDC2KsPiPiPi);
574 status = m_tuple4->addItem (
"DC2KsPiPiPi_e", m_DC2KsPiPiPi_e);
575 status = m_tuple4->addItem (
"DC2KsPiPiPi_p", m_DC2KsPiPiPi_p);
576 status = m_tuple4->addItem (
"DC2KsPiPiPi_mBC", m_DC2KsPiPiPi_mBC);
577 status = m_tuple4->addItem (
"DC2KsPiPiPi_mass", m_DC2KsPiPiPi_mass);
578 status = m_tuple4->addItem (
"DC2KsPiPiPi_deltE", m_DC2KsPiPiPi_deltE);
579 status = m_tuple4->addItem (
"DC2KsPiPiPi_charge", m_DC2KsPiPiPi_charge);
580 status = m_tuple4->addItem (
"DC2KsPiPiPi_charm", m_DC2KsPiPiPi_charm);
581 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion1_pp", m_DC2KsPiPiPi_pion1_pp);
582 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion2_pp", m_DC2KsPiPiPi_pion2_pp);
583 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion3_pp", m_DC2KsPiPiPi_pion3_pp);
584 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion4_pp", m_DC2KsPiPiPi_pion4_pp);
585 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion5_pp", m_DC2KsPiPiPi_pion5_pp);
586 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion1_Id", m_DC2KsPiPiPi_pion1_Id);
587 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion2_Id", m_DC2KsPiPiPi_pion2_Id);
588 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion3_Id", m_DC2KsPiPiPi_pion3_Id);
589 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion4_Id", m_DC2KsPiPiPi_pion4_Id);
590 status = m_tuple4->addItem (
"DC2KsPiPiPi_pion5_Id", m_DC2KsPiPiPi_pion5_Id);
591 status = m_tuple4->addItem (
"DC2KsPiPiPi_ks_mass", m_DC2KsPiPiPi_ks_mass);
592 status = m_tuple4->addItem (
"DC2KsPiPiPi_ks_vfitmass", m_DC2KsPiPiPi_ks_vfitmass);
593 status = m_tuple4->addItem (
"DC2KsPiPiPi_ks_pvchi2", m_DC2KsPiPiPi_ks_pvchi2);
594 status = m_tuple4->addItem (
"DC2KsPiPiPi_ks_svchi2", m_DC2KsPiPiPi_ks_svchi2);
595 status = m_tuple4->addItem (
"DC2KsPiPiPi_ks_dLength", m_DC2KsPiPiPi_ks_dLength);
596 status = m_tuple4->addItem (
"DC2KsPiPiPi_ks_dLengthErrorRatio", m_DC2KsPiPiPi_ks_dLengthErrorRatio);
597 status = m_tuple4->addItem (
"recNumDC2KKPi", m_recNumDC2KKPi);
598 status = m_tuple4->addItem (
"DC2KKPi_e", m_DC2KKPi_e);
599 status = m_tuple4->addItem (
"DC2KKPi_p", m_DC2KKPi_p);
600 status = m_tuple4->addItem (
"DC2KKPi_mBC", m_DC2KKPi_mBC);
601 status = m_tuple4->addItem (
"DC2KKPi_mass", m_DC2KKPi_mass);
602 status = m_tuple4->addItem (
"DC2KKPi_deltE", m_DC2KKPi_deltE);
603 status = m_tuple4->addItem (
"DC2KKPi_charge", m_DC2KKPi_charge);
604 status = m_tuple4->addItem (
"DC2KKPi_charm", m_DC2KKPi_charm);
605 status = m_tuple4->addItem (
"DC2KKPi_kaon1_pp", m_DC2KKPi_kaon1_pp);
606 status = m_tuple4->addItem (
"DC2KKPi_kaon2_pp", m_DC2KKPi_kaon2_pp);
607 status = m_tuple4->addItem (
"DC2KKPi_pion_pp", m_DC2KKPi_pion_pp);
608 status = m_tuple4->addItem (
"DC2KKPi_kaon1_Id", m_DC2KKPi_kaon1_Id);
609 status = m_tuple4->addItem (
"DC2KKPi_kaon2_Id", m_DC2KKPi_kaon2_Id);
610 status = m_tuple4->addItem (
"DC2KKPi_pion_Id", m_DC2KKPi_pion_Id);
611 status = m_tuple4->addItem (
"D02KPi_kaon_Id_Dedx", m_D02KPi_kaon_Id_Dedx);
612 status = m_tuple4->addItem (
"D02KPi_pion_Id_Dedx", m_D02KPi_pion_Id_Dedx);
613 status = m_tuple4->addItem (
"D02KPi_kaon_chipi", m_D02KPi_kaon_chipi);
614 status = m_tuple4->addItem (
"D02KPi_kaon_chik", m_D02KPi_kaon_chik);
615 status = m_tuple4->addItem (
"D02KPi_kaon_ghit", m_D02KPi_kaon_ghit);
616 status = m_tuple4->addItem (
"D02KPi_kaon_thit", m_D02KPi_kaon_thit);
617 status = m_tuple4->addItem (
"D02KPi_kaon_probPH", m_D02KPi_kaon_probPH);
618 status = m_tuple4->addItem (
"D02KPi_kaon_normPH", m_D02KPi_kaon_normPH);
619 status = m_tuple4->addItem (
"D02KPi_pion_chipi", m_D02KPi_pion_chipi);
620 status = m_tuple4->addItem (
"D02KPi_pion_chik", m_D02KPi_pion_chik);
621 status = m_tuple4->addItem (
"D02KPi_pion_ghit", m_D02KPi_pion_ghit);
622 status = m_tuple4->addItem (
"D02KPi_pion_thit", m_D02KPi_pion_thit);
623 status = m_tuple4->addItem (
"D02KPi_pion_probPH", m_D02KPi_pion_probPH);
624 status = m_tuple4->addItem (
"D02KPi_pion_normPH", m_D02KPi_pion_normPH);
625 status = m_tuple4->addItem (
"D02KPiPi0_kaon_Id_Dedx", m_D02KPiPi0_kaon_Id_Dedx);
626 status = m_tuple4->addItem (
"D02KPiPi0_pion_Id_Dedx", m_D02KPiPi0_pion_Id_Dedx);
627 status = m_tuple4->addItem (
"D02KPiPi0_kaon_chipi", m_D02KPiPi0_kaon_chipi);
628 status = m_tuple4->addItem (
"D02KPiPi0_kaon_chik", m_D02KPiPi0_kaon_chik);
629 status = m_tuple4->addItem (
"D02KPiPi0_kaon_ghit", m_D02KPiPi0_kaon_ghit);
630 status = m_tuple4->addItem (
"D02KPiPi0_kaon_thit", m_D02KPiPi0_kaon_thit);
631 status = m_tuple4->addItem (
"D02KPiPi0_kaon_probPH", m_D02KPiPi0_kaon_probPH);
632 status = m_tuple4->addItem (
"D02KPiPi0_kaon_normPH", m_D02KPiPi0_kaon_normPH);
633 status = m_tuple4->addItem (
"D02KPiPi0_pion_chipi", m_D02KPiPi0_pion_chipi);
634 status = m_tuple4->addItem (
"D02KPiPi0_pion_chik", m_D02KPiPi0_pion_chik);
635 status = m_tuple4->addItem (
"D02KPiPi0_pion_ghit", m_D02KPiPi0_pion_ghit);
636 status = m_tuple4->addItem (
"D02KPiPi0_pion_thit", m_D02KPiPi0_pion_thit);
637 status = m_tuple4->addItem (
"D02KPiPi0_pion_probPH", m_D02KPiPi0_pion_probPH);
638 status = m_tuple4->addItem (
"D02KPiPi0_pion_normPH", m_D02KPiPi0_pion_normPH);
639 status = m_tuple4->addItem (
"D02KPi_kaon_Id_tof", m_D02KPi_kaon_Id_tof);
640 status = m_tuple4->addItem (
"D02KPi_pion_Id_tof", m_D02KPi_pion_Id_tof);
641 status = m_tuple4->addItem (
"D02KPi_kaon_ec_toff_mu", m_D02KPi_kaon_ec_toff_mu);
642 status = m_tuple4->addItem (
"D02KPi_kaon_ec_toff_pi", m_D02KPi_kaon_ec_toff_pi);
643 status = m_tuple4->addItem (
"D02KPi_kaon_ec_toff_k", m_D02KPi_kaon_ec_toff_k);
644 status = m_tuple4->addItem (
"D02KPi_kaon_ec_toff_isEast", m_D02KPi_kaon_ec_toff_isEast);
645 status = m_tuple4->addItem (
"D02KPi_kaon_br_toff_mu", 7,m_D02KPi_kaon_br_toff_mu);
646 status = m_tuple4->addItem (
"D02KPi_kaon_br_toff_pi", 7,m_D02KPi_kaon_br_toff_pi);
647 status = m_tuple4->addItem (
"D02KPi_kaon_br_toff_k", 7,m_D02KPi_kaon_br_toff_k);
648 status = m_tuple4->addItem (
"D02KPi_pion_ec_toff_pi", m_D02KPi_pion_ec_toff_mu);
649 status = m_tuple4->addItem (
"D02KPi_pion_ec_toff_mu", m_D02KPi_pion_ec_toff_pi);
650 status = m_tuple4->addItem (
"D02KPi_pion_ec_toff_k", m_D02KPi_pion_ec_toff_k);
651 status = m_tuple4->addItem (
"D02KPi_pion_ec_toff_isEast", m_D02KPi_pion_ec_toff_isEast);
652 status = m_tuple4->addItem (
"D02KPi_pion_br_toff_mu", 7,m_D02KPi_pion_br_toff_mu);
653 status = m_tuple4->addItem (
"D02KPi_pion_br_toff_pi", 7,m_D02KPi_pion_br_toff_pi);
654 status = m_tuple4->addItem (
"D02KPi_pion_br_toff_k", 7,m_D02KPi_pion_br_toff_k);
655 status = m_tuple4->addItem (
"D02KPiPi0_kaon_Id_tof", m_D02KPiPi0_kaon_Id_tof);
656 status = m_tuple4->addItem (
"D02KPiPi0_pion_Id_tof", m_D02KPiPi0_pion_Id_tof);
657 status = m_tuple4->addItem (
"D02KPiPi0_kaon_ec_toff_mu", m_D02KPiPi0_kaon_ec_toff_mu);
658 status = m_tuple4->addItem (
"D02KPiPi0_kaon_ec_toff_pi", m_D02KPiPi0_kaon_ec_toff_pi);
659 status = m_tuple4->addItem (
"D02KPiPi0_kaon_ec_toff_k", m_D02KPiPi0_kaon_ec_toff_k);
660 status = m_tuple4->addItem (
"D02KPiPi0_kaon_ec_toff_isEast", m_D02KPiPi0_kaon_ec_toff_isEast);
661 status = m_tuple4->addItem (
"D02KPiPi0_kaon_br_toff_mu", 7,m_D02KPiPi0_kaon_br_toff_mu);
662 status = m_tuple4->addItem (
"D02KPiPi0_kaon_br_toff_pi", 7,m_D02KPiPi0_kaon_br_toff_pi);
663 status = m_tuple4->addItem (
"D02KPiPi0_kaon_br_toff_k", 7,m_D02KPiPi0_kaon_br_toff_k);
664 status = m_tuple4->addItem (
"D02KPiPi0_pion_ec_toff_mu", m_D02KPiPi0_pion_ec_toff_mu);
665 status = m_tuple4->addItem (
"D02KPiPi0_pion_ec_toff_pi", m_D02KPiPi0_pion_ec_toff_pi);
666 status = m_tuple4->addItem (
"D02KPiPi0_pion_ec_toff_k", m_D02KPiPi0_pion_ec_toff_k);
667 status = m_tuple4->addItem (
"D02KPiPi0_pion_ec_toff_isEast", m_D02KPiPi0_pion_ec_toff_isEast);
668 status = m_tuple4->addItem (
"D02KPiPi0_pion_br_toff_mu", 7,m_D02KPiPi0_pion_br_toff_mu);
669 status = m_tuple4->addItem (
"D02KPiPi0_pion_br_toff_pi", 7,m_D02KPiPi0_pion_br_toff_pi);
670 status = m_tuple4->addItem (
"D02KPiPi0_pion_br_toff_k", 7,m_D02KPiPi0_pion_br_toff_k);
671 status = m_tuple4->addItem (
"DC2KPiPi_kaon_Id_tof", m_DC2KPiPi_kaon_Id_tof);
672 status = m_tuple4->addItem (
"DC2KPiPi_pion1_Id_tof", m_DC2KPiPi_pion1_Id_tof);
673 status = m_tuple4->addItem (
"DC2KPiPi_pion2_Id_tof", m_DC2KPiPi_pion2_Id_tof);
674 status = m_tuple4->addItem (
"DC2KPiPi_kaon_ec_toff_mu", m_DC2KPiPi_kaon_ec_toff_mu);
675 status = m_tuple4->addItem (
"DC2KPiPi_kaon_ec_toff_pi", m_DC2KPiPi_kaon_ec_toff_pi);
676 status = m_tuple4->addItem (
"DC2KPiPi_kaon_ec_toff_k", m_DC2KPiPi_kaon_ec_toff_k);
677 status = m_tuple4->addItem (
"DC2KPiPi_kaon_ec_toff_isEast", m_DC2KPiPi_kaon_ec_toff_isEast);
678 status = m_tuple4->addItem (
"DC2KPiPi_kaon_br_toff_mu", 7, m_DC2KPiPi_kaon_br_toff_mu);
679 status = m_tuple4->addItem (
"DC2KPiPi_kaon_br_toff_pi", 7, m_DC2KPiPi_kaon_br_toff_pi);
680 status = m_tuple4->addItem (
"DC2KPiPi_kaon_br_toff_k", 7, m_DC2KPiPi_kaon_br_toff_k);
681 status = m_tuple4->addItem (
"DC2KPiPi_pion1_ec_toff_mu", m_DC2KPiPi_pion1_ec_toff_mu);
682 status = m_tuple4->addItem (
"DC2KPiPi_pion1_ec_toff_pi", m_DC2KPiPi_pion1_ec_toff_pi);
683 status = m_tuple4->addItem (
"DC2KPiPi_pion1_ec_toff_k", m_DC2KPiPi_pion1_ec_toff_k);
684 status = m_tuple4->addItem (
"DC2KPiPi_pion1_ec_toff_isEast", m_DC2KPiPi_pion1_ec_toff_isEast);
685 status = m_tuple4->addItem (
"DC2KPiPi_pion1_br_toff_mu", 7, m_DC2KPiPi_pion1_br_toff_mu);
686 status = m_tuple4->addItem (
"DC2KPiPi_pion1_br_toff_pi", 7, m_DC2KPiPi_pion1_br_toff_pi);
687 status = m_tuple4->addItem (
"DC2KPiPi_pion1_br_toff_k", 7, m_DC2KPiPi_pion1_br_toff_k);
688 status = m_tuple4->addItem (
"DC2KPiPi_pion2_ec_toff_mu", m_DC2KPiPi_pion2_ec_toff_mu);
689 status = m_tuple4->addItem (
"DC2KPiPi_pion2_ec_toff_pi", m_DC2KPiPi_pion2_ec_toff_pi);
690 status = m_tuple4->addItem (
"DC2KPiPi_pion2_ec_toff_k", m_DC2KPiPi_pion2_ec_toff_k);
691 status = m_tuple4->addItem (
"DC2KPiPi_pion2_ec_toff_isEast", m_DC2KPiPi_pion2_ec_toff_isEast);
692 status = m_tuple4->addItem (
"DC2KPiPi_pion2_br_toff_mu", 7, m_DC2KPiPi_pion2_br_toff_mu);
693 status = m_tuple4->addItem (
"DC2KPiPi_pion2_br_toff_pi", 7, m_DC2KPiPi_pion2_br_toff_pi);
694 status = m_tuple4->addItem (
"DC2KPiPi_pion2_br_toff_k", 7, m_DC2KPiPi_pion2_br_toff_k);
695 status = m_tuple4->addItem (
"D02KPiPi0_photon1_Id_Emc", m_D02KPiPi0_photon1_Id_Emc);
696 status = m_tuple4->addItem (
"D02KPiPi0_photon1_numHits", m_D02KPiPi0_photon1_numHits);
697 status = m_tuple4->addItem (
"D02KPiPi0_photon1_secondmoment", m_D02KPiPi0_photon1_secondmoment);
698 status = m_tuple4->addItem (
"D02KPiPi0_photon1_x", m_D02KPiPi0_photon1_x);
699 status = m_tuple4->addItem (
"D02KPiPi0_photon1_y", m_D02KPiPi0_photon1_y);
700 status = m_tuple4->addItem (
"D02KPiPi0_photon1_z", m_D02KPiPi0_photon1_z);
701 status = m_tuple4->addItem (
"D02KPiPi0_photon2_Id_Emc", m_D02KPiPi0_photon2_Id_Emc);
702 status = m_tuple4->addItem (
"D02KPiPi0_photon2_numHits", m_D02KPiPi0_photon2_numHits);
703 status = m_tuple4->addItem (
"D02KPiPi0_photon2_secondmoment", m_D02KPiPi0_photon2_secondmoment);
704 status = m_tuple4->addItem (
"D02KPiPi0_photon2_x", m_D02KPiPi0_photon2_x);
705 status = m_tuple4->addItem (
"D02KPiPi0_photon2_y", m_D02KPiPi0_photon2_y);
706 status = m_tuple4->addItem (
"D02KPiPi0_photon2_z", m_D02KPiPi0_photon2_z);
707 status = m_tuple4->addItem (
"DC2KPiPi_kaon_chipi", m_DC2KPiPi_kaon_chipi);
708 status = m_tuple4->addItem (
"DC2KPiPi_kaon_chik", m_DC2KPiPi_kaon_chik);
709 status = m_tuple4->addItem (
"DC2KPiPi_kaon_ghit", m_DC2KPiPi_kaon_ghit);
710 status = m_tuple4->addItem (
"DC2KPiPi_kaon_thit", m_DC2KPiPi_kaon_thit);
711 status = m_tuple4->addItem (
"DC2KPiPi_kaon_probPH", m_DC2KPiPi_kaon_probPH);
712 status = m_tuple4->addItem (
"DC2KPiPi_kaon_normPH", m_DC2KPiPi_kaon_normPH);
713 status = m_tuple4->addItem (
"DC2KPiPi_pion1_chipi", m_DC2KPiPi_pion1_chipi);
714 status = m_tuple4->addItem (
"DC2KPiPi_pion1_chik", m_DC2KPiPi_pion1_chik);
715 status = m_tuple4->addItem (
"DC2KPiPi_pion1_ghit", m_DC2KPiPi_pion1_ghit);
716 status = m_tuple4->addItem (
"DC2KPiPi_pion1_thit", m_DC2KPiPi_pion1_thit);
717 status = m_tuple4->addItem (
"DC2KPiPi_pion1_probPH", m_DC2KPiPi_pion1_probPH);
718 status = m_tuple4->addItem (
"DC2KPiPi_pion1_normPH", m_DC2KPiPi_pion1_normPH);
719 status = m_tuple4->addItem (
"DC2KPiPi_pion2_chipi", m_DC2KPiPi_pion2_chipi);
720 status = m_tuple4->addItem (
"DC2KPiPi_pion2_chik", m_DC2KPiPi_pion2_chik);
721 status = m_tuple4->addItem (
"DC2KPiPi_pion2_ghit", m_DC2KPiPi_pion2_ghit);
722 status = m_tuple4->addItem (
"DC2KPiPi_pion2_thit", m_DC2KPiPi_pion2_thit);
723 status = m_tuple4->addItem (
"DC2KPiPi_pion2_probPH", m_DC2KPiPi_pion2_probPH);
724 status = m_tuple4->addItem (
"DC2KPiPi_pion2_normPH", m_DC2KPiPi_pion2_normPH);
725 status = m_tuple4->addItem (
"DC2KPiPi_kaon_Id_Dedx", m_DC2KPiPi_kaon_Id_Dedx);
726 status = m_tuple4->addItem (
"DC2KPiPi_pion1_Id_Dedx", m_DC2KPiPi_pion1_Id_Dedx);
727 status = m_tuple4->addItem (
"DC2KPiPi_pion2_Id_Dedx", m_DC2KPiPi_pion2_Id_Dedx);
730 log << MSG::ERROR <<
" Cannot book N-tuple:" << long(m_tuple4) << endmsg;
731 return StatusCode::FAILURE;
735 NTuplePtr nt5(
ntupleSvc(),
"DQAFILE/Events");
736 if ( nt5 ) m_tuple5 = nt5;
738 m_tuple5 =
ntupleSvc()->book (
"DQAFILE/Events", CLID_ColumnWiseTuple,
"ks N-Tuple example");
740 status = m_tuple5->addItem (
"evtrun", m_evtrun);
741 status = m_tuple5->addItem (
"evtrec", m_evtrec);
742 status = m_tuple5->addItem (
"evtnch", m_evtnch);
743 status = m_tuple5->addItem (
"evtnneu", m_evtnneu);
744 status = m_tuple5->addItem (
"evtbeamE", m_evtbeamE);
747 log << MSG::ERROR <<
" Cannot book N-tuple:" << long(m_tuple5) << endmsg;
748 return StatusCode::FAILURE;
751 NTuplePtr nt11(
ntupleSvc(),
"DQAFILE/CheckDedxAll");
752 if ( nt11 ) m_tuple11 = nt11;
754 m_tuple11 =
ntupleSvc()->book (
"DQAFILE/CheckDedxAll", CLID_ColumnWiseTuple,
"ks N-Tuple example");
756 status = m_tuple11->addItem (
"ngch", m_ngch, 0, 10000);
757 status = m_tuple11->addIndexedItem (
"trkiddedx", m_ngch, m_trkiddedx);
758 status = m_tuple11->addIndexedItem (
"mptrk", m_ngch, m_ptrk);
759 status = m_tuple11->addIndexedItem (
"chie", m_ngch, m_chie);
760 status = m_tuple11->addIndexedItem (
"chimu", m_ngch,m_chimu);
761 status = m_tuple11->addIndexedItem (
"chipi", m_ngch,m_chipi);
762 status = m_tuple11->addIndexedItem (
"chik", m_ngch,m_chik);
763 status = m_tuple11->addIndexedItem (
"chip", m_ngch,m_chip);
764 status = m_tuple11->addIndexedItem (
"probPH", m_ngch,m_probPH);
765 status = m_tuple11->addIndexedItem (
"normPH", m_ngch,m_normPH);
766 status = m_tuple11->addIndexedItem (
"ghit", m_ngch,m_ghit);
767 status = m_tuple11->addIndexedItem (
"thit", m_ngch,m_thit);
770 log << MSG::ERROR <<
" Cannot book N-tuple:" << long(m_tuple11) << endmsg;
771 return StatusCode::FAILURE;
775 NTuplePtr nt12(
ntupleSvc(),
"DQAFILE/CheckTofChAll");
776 if ( nt12 ) m_tuple12 = nt12;
778 m_tuple12 =
ntupleSvc()->book (
"DQAFILE/CheckTofChAll", CLID_ColumnWiseTuple,
"ks N-Tuple example");
780 status = m_tuple12->addItem (
"ngch2", m_ngch2, 0, 10000);
781 status = m_tuple12->addIndexedItem (
"trkidtof", m_ngch2,m_trkidtof);
782 status = m_tuple12->addIndexedItem (
"ptot_etof", m_ngch2,m_ptot_etof);
783 status = m_tuple12->addIndexedItem (
"cntr_etof", m_ngch2,m_cntr_etof);
784 status = m_tuple12->addIndexedItem (
"te_etof", m_ngch2,m_te_etof);
785 status = m_tuple12->addIndexedItem (
"tmu_etof", m_ngch2,m_tmu_etof);
786 status = m_tuple12->addIndexedItem (
"tpi_etof", m_ngch2,m_tpi_etof);
787 status = m_tuple12->addIndexedItem (
"tk_etof", m_ngch2,m_tk_etof);
788 status = m_tuple12->addIndexedItem (
"tp_etof", m_ngch2,m_tp_etof);
789 status = m_tuple12->addIndexedItem (
"ph_etof", m_ngch2,m_ph_etof);
790 status = m_tuple12->addIndexedItem (
"rhit_etof", m_ngch2,m_rhit_etof);
791 status = m_tuple12->addIndexedItem (
"qual_etof", m_ngch2,m_qual_etof);
792 status = m_tuple12->addIndexedItem (
"ec_toff_e", m_ngch2,m_ec_toff_e);
793 status = m_tuple12->addIndexedItem (
"ec_toff_mu",m_ngch2,m_ec_toff_mu);
794 status = m_tuple12->addIndexedItem (
"ec_toff_pi",m_ngch2,m_ec_toff_pi);
795 status = m_tuple12->addIndexedItem (
"ec_toff_k", m_ngch2,m_ec_toff_k);
796 status = m_tuple12->addIndexedItem (
"ec_toff_p", m_ngch2,m_ec_toff_p);
797 status = m_tuple12->addIndexedItem (
"ec_tsig_e", m_ngch2,m_ec_tsig_e);
798 status = m_tuple12->addIndexedItem (
"ec_tsig_mu",m_ngch2,m_ec_tsig_mu);
799 status = m_tuple12->addIndexedItem (
"ec_tsig_pi",m_ngch2,m_ec_tsig_pi);
800 status = m_tuple12->addIndexedItem (
"ec_tsig_k", m_ngch2,m_ec_tsig_k);
801 status = m_tuple12->addIndexedItem (
"ec_tsig_p", m_ngch2,m_ec_tsig_p);
802 status = m_tuple12->addIndexedItem (
"ec_tof", m_ngch2,m_ec_tof);
803 status = m_tuple12->addIndexedItem (
"ptot_btof1",m_ngch2,m_ptot_btof1);
804 status = m_tuple12->addIndexedItem (
"cntr_btof1",m_ngch2,m_cntr_btof1);
805 status = m_tuple12->addIndexedItem (
"te_btof1", m_ngch2,m_te_btof1);
806 status = m_tuple12->addIndexedItem (
"tmu_btof1", m_ngch2,m_tmu_btof1);
807 status = m_tuple12->addIndexedItem (
"tpi_btof1", m_ngch2,m_tpi_btof1);
808 status = m_tuple12->addIndexedItem (
"tk_btof1", m_ngch2,m_tk_btof1);
809 status = m_tuple12->addIndexedItem (
"tp_btof1", m_ngch2,m_tp_btof1);
810 status = m_tuple12->addIndexedItem (
"ph_btof1", m_ngch2,m_ph_btof1);
811 status = m_tuple12->addIndexedItem (
"zhit_btof1",m_ngch2,m_zhit_btof1);
812 status = m_tuple12->addIndexedItem (
"qual_btof1",m_ngch2,m_qual_btof1);
813 status = m_tuple12->addIndexedItem (
"b1_toff_e", m_ngch2,m_b1_toff_e);
814 status = m_tuple12->addIndexedItem (
"b1_toff_mu",m_ngch2,m_b1_toff_mu);
815 status = m_tuple12->addIndexedItem (
"b1_toff_pi",m_ngch2,m_b1_toff_pi);
816 status = m_tuple12->addIndexedItem (
"b1_toff_k", m_ngch2,m_b1_toff_k);
817 status = m_tuple12->addIndexedItem (
"b1_toff_p", m_ngch2,m_b1_toff_p);
818 status = m_tuple12->addIndexedItem (
"b1_tsig_e", m_ngch2,m_b1_tsig_e);
819 status = m_tuple12->addIndexedItem (
"b1_tsig_mu",m_ngch2,m_b1_tsig_mu);
820 status = m_tuple12->addIndexedItem (
"b1_tsig_pi",m_ngch2,m_b1_tsig_pi);
821 status = m_tuple12->addIndexedItem (
"b1_tsig_k", m_ngch2,m_b1_tsig_k);
822 status = m_tuple12->addIndexedItem (
"b1_tsig_p", m_ngch2,m_b1_tsig_p);
823 status = m_tuple12->addIndexedItem (
"b1_tof", m_ngch2,m_b1_tof);
825 status = m_tuple12->addIndexedItem (
"mdedx_pid", m_ngch2,m_dedx_pid);
826 status = m_tuple12->addIndexedItem (
"mtof1_pid", m_ngch2,m_tof1_pid);
827 status = m_tuple12->addIndexedItem (
"mtof2_pid", m_ngch2,m_tof2_pid);
828 status = m_tuple12->addIndexedItem (
"mprob_pid", m_ngch2,m_prob_pid);
829 status = m_tuple12->addIndexedItem (
"mptrk_pid", m_ngch2,m_ptrk_pid);
830 status = m_tuple12->addIndexedItem (
"mcost_pid", m_ngch2,m_cost_pid);
833 log << MSG::ERROR <<
" Cannot book N-tuple:" << long(m_tuple12) << endmsg;
834 return StatusCode::FAILURE;
838 NTuplePtr nt13(
ntupleSvc(),
"DQAFILE/CheckTofNeAll");
839 if ( nt13 ) m_tuple13 = nt13;
841 m_tuple13 =
ntupleSvc()->book (
"DQAFILE/CheckTofNeAll", CLID_ColumnWiseTuple,
"ks N-Tuple example");
843 status = m_tuple13->addItem (
"ngneu", m_nggneu, 0, 10000);
844 status = m_tuple13->addIndexedItem (
"shwidtof", m_nggneu,m_shwidtof);
845 status = m_tuple13->addIndexedItem (
"numHits", m_nggneu,m_numHits);
846 status = m_tuple13->addIndexedItem (
"secondmoment", m_nggneu,m_secondmoment);
847 status = m_tuple13->addIndexedItem (
"mx", m_nggneu,m_x);
848 status = m_tuple13->addIndexedItem (
"my", m_nggneu,m_y);
849 status = m_tuple13->addIndexedItem (
"mz", m_nggneu,m_z);
850 status = m_tuple13->addIndexedItem (
"cosemc", m_nggneu,m_cosemc);
851 status = m_tuple13->addIndexedItem (
"phiemc", m_nggneu,m_phiemc);
852 status = m_tuple13->addIndexedItem (
"energy", m_nggneu,m_energy);
853 status = m_tuple13->addIndexedItem (
"eseed", m_nggneu,m_eSeed);
854 status = m_tuple13->addIndexedItem (
"me9", m_nggneu,m_e3x3);
855 status = m_tuple13->addIndexedItem (
"me25", m_nggneu,m_e5x5);
856 status = m_tuple13->addIndexedItem (
"mlat", m_nggneu,m_lat);
857 status = m_tuple13->addIndexedItem (
"ma20", m_nggneu,m_a20);
858 status = m_tuple13->addIndexedItem (
"ma42", m_nggneu,m_a42);
861 log << MSG::ERROR <<
" Cannot book N-tuple:" << long(m_tuple13) << endmsg;
862 return StatusCode::FAILURE;
866 if(service(
"THistSvc", m_thsvc).isFailure()) {
867 log << MSG::ERROR <<
"Couldn't get THistSvc" << endreq;
868 return StatusCode::FAILURE;
871 string strdecaymode[11] = {
"D02KPi",
"D02KPiPi0",
"D02KPiPiPi",
"D02KPiPiPiPi0",
"D02KsPiPi",
"D02KsPiPiPi0",\
872 "DC2KPiPi",
"DC2KPiPiPi0",
"DC2KsPiPi0",
"DC2KsPiPiPi",
"DC2KKPi"};
873 for (
int i=0;i!=11;i++)
875 regDecayModeHistogram(m_thsvc,strdecaymode[i]);
877 string strDdecaymode[2] = {
"D0",
"DC"};
878 regDecayModeHistogram(m_thsvc,strDdecaymode[0]);
879 regDecayModeHistogram(m_thsvc,strDdecaymode[1]);
880 string strtrack[14] = {
"D02KPi_kaon",
"D02KPi_pion",
"D02KPiPi0_kaon",
"D02KPiPi0_pion",
"D02KsPiPi_pion1",\
881 "D02KsPiPi_pion2",
"D02KsPiPi_pion3",
"D02KsPiPi_pion4",
"DC2KPiPi_kaon",
"DC2KPiPi_pion1",
"DC2KPiPi_pion2",\
882 "DC2KsPiPi0_pion1",
"DC2KsPiPi0_pion2",
"DC2KsPiPi0_pion3" };
883 for (
int i=0;i!=14;i++)
885 regTrackHistogram(m_thsvc,strtrack[i]);
887 string strphoton[2] = {
"D02KPiPi0_photon1",
"D02KPiPi0_photon2"};
888 regPhotonHistogram(m_thsvc,strphoton[0]);
889 regPhotonHistogram(m_thsvc,strphoton[1]);
890 string strtrackdedx[7] = {
"D02KPi_kaon",
"D02KPi_pion",
"D02KPiPi0_kaon",
"D02KPiPi0_pion",
"DC2KPiPi_kaon",
"DC2KPiPi_pion1",
"DC2KPiPi_pion2"};
891 for (
int i=0;i!=7;i++)
893 regTrackDedxHistogram(m_thsvc,strtrackdedx[i]);
895 string strtracktof[7] = {
"D02KPi_kaon",
"D02KPi_pion",
"D02KPiPi0_kaon",
"D02KPiPi0_pion",
"DC2KPiPi_kaon",
"DC2KPiPi_pion1",
"DC2KPiPi_pion2"};
896 for (
int i=0;i!=7;i++)
898 regTrackTofHistogram(m_thsvc,strtracktof[i]);
900 string strpi0[2] = {
"D02KPiPi0",
"DC2KsPiPi0"};
901 for (
int i=0;i!=2;i++)
903 regPi0Histogram(m_thsvc,strpi0[i]);
905 string strks[2] = {
"D02KsPiPi",
"DC2KsPiPi0"};
906 for (
int i=0;i!=2;i++)
908 regKsHistogram(m_thsvc,strks[i]);
911 StatusCode sc = service(
"BestDTagSvc", m_bestDSvc);
912 if ( sc.isFailure() ){
913 log << MSG::FATAL <<
"Could not load BestDTagSvc!" << endreq;
920 log << MSG::INFO <<
"successfully return from initialize()" <<endmsg;
921 return StatusCode::SUCCESS;
930 MsgStream log(
msgSvc(), name());
931 log << MSG::INFO <<
"in execute()" << endreq;
933 setFilterPassed(
false);
935 SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),
"/Event/EventHeader");
936 int run=eventHeader->runNumber();
937 int event=eventHeader->eventNumber();
938 log << MSG::DEBUG <<
"run, evtnum = "
942 m_run = eventHeader->runNumber();
943 m_rec = eventHeader->eventNumber();
944 m_evtrun = eventHeader->runNumber();
945 m_evtrec = eventHeader->eventNumber();
950 if(m_ReadBeamEFromDB&&m_irun!=run){
956 double beamE=m_beamE;
957 m_evtbeamE = m_beamE;
960 cout<<
"event "<<
event<<endl;
969 log << MSG::INFO <<
"get event tag OK" << endreq;
970 log << MSG::DEBUG <<
"ncharg, nneu, tottks = "
971 << evtRecEvent->totalCharged() <<
" , "
972 << evtRecEvent->totalNeutral() <<
" , "
973 << evtRecEvent->totalTracks() <<endreq;
975 m_nch = evtRecEvent->totalCharged();
976 m_nneu = evtRecEvent->totalNeutral();
977 m_evtnch = evtRecEvent->totalCharged();
978 m_evtnneu = evtRecEvent->totalNeutral();
983 Hep3Vector xorigin(0,0,0);
986 HepSymMatrix Evx(3, 0);
987 Gaudi::svcLocator()->service(
"VertexDbSvc", vtxsvc);
991 xorigin.setX(vertex[0]);
992 xorigin.setY(vertex[1]);
993 xorigin.setZ(vertex[2]);
997 Evx[0][0] = vertexsigma[0]*vertexsigma[0];
998 Evx[1][1] = vertexsigma[1]*vertexsigma[1];
999 Evx[2][2] = vertexsigma[2]*vertexsigma[2];
1000 m_privxpar.
setVx(vx);
1023 if ( ! evtRecDTagCol ) {
1024 cout <<
"Could not find EvtRecDTagCol" << endl;
1025 return StatusCode::SUCCESS;
1030 if (bestDTag == NULL )
1031 return StatusCode::SUCCESS;
1035 SmartRefVector<EvtRecTrack> tracks=(bestDTag)->tracks();
1036 SmartRefVector<EvtRecTrack> othertracks=(bestDTag)->otherTracks();
1037 SmartRefVector<EvtRecTrack> othershowers=(bestDTag)->otherShowers();
1038 SmartRefVector<EvtRecTrack> showers=(bestDTag)->showers();
1043 double g_mBC=(bestDTag)->mBC();
1044 double g_deltE=(bestDTag)->deltaE();
1051 const int numMode = 11;
1052 int indexD[numMode], indexTof[numMode], indexDedx[numMode],numDCand[numMode];
1053 for (
int i=0;i!=numMode;i++)
1074 if (m_checkDecayMode < 3)
1085 m_dtagbeamE = m_beamE;
1086 m_mode =(bestDTag)->decayMode();
1087 m_charge =(bestDTag)->charge();
1088 m_charm =(bestDTag)->charm();
1089 m_numofchildren =(bestDTag)->numOfChildren();
1090 m_mass =(bestDTag)->
mass();
1091 m_mBC =(bestDTag)->mBC();
1092 m_e =(bestDTag)->beamE();
1093 HepLorentzVector p4D =(bestDTag)->p4();
1095 p4D.boost(-0.011,0,0);
1096 m_p_CMS = p4D.rho();
1097 fill(m_p4_CMS, p4D);
1098 m_deltae =(bestDTag)->deltaE();
1100 SmartRefVector<EvtRecTrack> tracks=(bestDTag)->tracks();
1101 SmartRefVector<EvtRecTrack> othertracks=(bestDTag)->otherTracks();
1102 SmartRefVector<EvtRecTrack> othershowers=(bestDTag)->otherShowers();
1103 SmartRefVector<EvtRecTrack> showers=(bestDTag)->showers();
1106 m_nshower = showers.size();
1107 m_ntrk =tracks.size();
1108 m_nothertrk =othertracks.size();
1109 m_nothershower = othershowers.size();
1116 fillDecayModeItem(bestDTag,
"D02KPi" );
1117 fillTrackItem(tracks[0],
"D02KPi_kaon",3 ,xorigin);
1118 fillTrackItem(tracks[1],
"D02KPi_pion",2 ,xorigin);
1124 fillTrackDedxItem(tracks[0],
"D02KPi_kaon",3 );
1125 fillTrackDedxItem(tracks[1],
"D02KPi_pion",2 );
1131 fillTrackTofItem(tracks[0],
"D02KPi_kaon",3 );
1132 fillTrackTofItem(tracks[1],
"D02KPi_pion",2 );
1140 pi0info.
setchilds(showers[0],showers[1]);
1143 if (pi0info.
m() >m_mpi0Max || pi0info.
m() < m_mpi0Min)
1146 fillPi0Item(showers,
"D02KPiPi0" ,&pi0info );
1147 fillDecayModeItem(bestDTag,
"D02KPiPi0" );
1148 fillTrackItem(tracks[0],
"D02KPiPi0_kaon",3 ,xorigin);
1149 fillTrackItem(tracks[1],
"D02KPiPi0_pion",2 ,xorigin);
1150 fillPhotonItem(showers[0],
"D02KPiPi0_photon1" );
1151 fillPhotonItem(showers[1],
"D02KPiPi0_photon2" );
1157 fillTrackDedxItem(tracks[0],
"D02KPiPi0_kaon",3 );
1158 fillTrackDedxItem(tracks[1],
"D02KPiPi0_pion",2 );
1164 fillTrackTofItem(tracks[0],
"D02KPiPi0_kaon",3 );
1165 fillTrackTofItem(tracks[1],
"D02KPiPi0_pion",2 );
1175 fillDecayModeItem(bestDTag,
"D02KPiPiPi" );
1182 HepLorentzVector p4kaon = mdcKalTrk1->
p4(
xmass[3]);
1184 HepLorentzVector p4pion1 = mdcKalTrk2->
p4(
xmass[2]);
1185 HepLorentzVector p4pion2 = mdcKalTrk3->
p4(
xmass[2]);
1186 HepLorentzVector p4pion3 = mdcKalTrk4->
p4(
xmass[2]);
1187 m_D02KPiPiPi_kaon_pp = p4kaon.rho();
1188 m_D02KPiPiPi_pion1_pp = p4pion1.rho();
1189 m_D02KPiPiPi_pion2_pp = p4pion2.rho();
1190 m_D02KPiPiPi_pion3_pp = p4pion3.rho();
1191 m_D02KPiPiPi_kaon_Id = tracks[0]->trackId();
1192 m_D02KPiPiPi_pion1_Id = tracks[1]->trackId();
1193 m_D02KPiPiPi_pion2_Id = tracks[2]->trackId();
1194 m_D02KPiPiPi_pion3_Id = tracks[3]->trackId();
1203 pi0info.
setchilds(showers[0],showers[1]);
1205 if (pi0info.
m() >m_mpi0Max || pi0info.
m() < m_mpi0Min)
1207 fillPi0Item(showers,
"D02KPiPiPiPi0" ,&pi0info );
1210 fillDecayModeItem(bestDTag,
"D02KPiPiPiPi0" );
1217 HepLorentzVector p4kaon = mdcKalTrk1->
p4(
xmass[3]);
1219 HepLorentzVector p4pion1 = mdcKalTrk2->
p4(
xmass[2]);
1220 HepLorentzVector p4pion2 = mdcKalTrk3->
p4(
xmass[2]);
1221 HepLorentzVector p4pion3 = mdcKalTrk4->
p4(
xmass[2]);
1222 m_D02KPiPiPiPi0_kaon_pp = p4kaon.rho();
1223 m_D02KPiPiPiPi0_pion1_pp = p4pion1.rho();
1224 m_D02KPiPiPiPi0_pion2_pp = p4pion2.rho();
1225 m_D02KPiPiPiPi0_pion3_pp = p4pion3.rho();
1226 m_D02KPiPiPiPi0_kaon_Id = tracks[0]->trackId();
1227 m_D02KPiPiPiPi0_pion1_Id = tracks[1]->trackId();
1228 m_D02KPiPiPiPi0_pion2_Id = tracks[2]->trackId();
1229 m_D02KPiPiPiPi0_pion3_Id = tracks[3]->trackId();
1244 fillDecayModeItem(bestDTag,
"D02KsPiPi" );
1245 fillTrackItem(tracks[0],
"D02KsPiPi_pion1",2 ,xorigin);
1246 fillTrackItem(tracks[1],
"D02KsPiPi_pion2",2 ,xorigin);
1247 fillTrackItem(tracks[2],
"D02KsPiPi_pion3",2 ,xorigin);
1248 fillTrackItem(tracks[3],
"D02KsPiPi_pion4",2 ,xorigin);
1249 fillKsItem(tracks,
"D02KsPiPi" ,&ksinfo);
1268 pi0info.
setchilds(showers[0],showers[1]);
1270 if (pi0info.
m() >m_mpi0Max || pi0info.
m() < m_mpi0Min)
1272 fillPi0Item(showers,
"D02KsPiPiPi0" ,&pi0info );
1274 fillKsItem(tracks,
"D02KsPiPiPi0" ,&ksinfo);
1278 fillDecayModeItem(bestDTag,
"D02KsPiPiPi0" );
1285 HepLorentzVector p4pion1 = mdcKalTrk1->
p4(
xmass[2]);
1286 HepLorentzVector p4pion2 = mdcKalTrk2->
p4(
xmass[2]);
1287 HepLorentzVector p4pion3 = mdcKalTrk3->
p4(
xmass[2]);
1288 HepLorentzVector p4pion4 = mdcKalTrk4->
p4(
xmass[2]);
1289 m_D02KsPiPiPi0_pion1_pp = p4pion1.rho();
1290 m_D02KsPiPiPi0_pion2_pp = p4pion2.rho();
1291 m_D02KsPiPiPi0_pion3_pp = p4pion3.rho();
1292 m_D02KsPiPiPi0_pion4_pp = p4pion4.rho();
1293 m_D02KsPiPiPi0_pion1_Id = tracks[0]->trackId();
1294 m_D02KsPiPiPi0_pion2_Id = tracks[1]->trackId();
1295 m_D02KsPiPiPi0_pion3_Id = tracks[2]->trackId();
1296 m_D02KsPiPiPi0_pion4_Id = tracks[3]->trackId();
1306 fillDecayModeItem(bestDTag,
"DC2KPiPi" );
1307 fillTrackItem(tracks[0],
"DC2KPiPi_kaon",3 ,xorigin);
1308 fillTrackItem(tracks[1],
"DC2KPiPi_pion1",2 ,xorigin);
1309 fillTrackItem(tracks[2],
"DC2KPiPi_pion2",2 ,xorigin);
1314 fillTrackTofItem(tracks[0],
"DC2KPiPi_kaon",3 );
1315 fillTrackTofItem(tracks[1],
"DC2KPiPi_pion1",2 );
1316 fillTrackTofItem(tracks[2],
"DC2KPiPi_pion2",2 );
1320 fillTrackDedxItem(tracks[0],
"DC2KPiPi_kaon",3 );
1321 fillTrackDedxItem(tracks[1],
"DC2KPiPi_pion1",2 );
1322 fillTrackDedxItem(tracks[2],
"DC2KPiPi_pion2",2 );
1333 pi0info.
setchilds(showers[0],showers[1]);
1335 if (pi0info.
m() >m_mpi0Max || pi0info.
m() < m_mpi0Min)
1337 fillPi0Item(showers,
"DC2KPiPiPi0" ,&pi0info );
1339 fillDecayModeItem(bestDTag,
"DC2KPiPiPi0" );
1341 fillTrackItem(tracks[0],
"DC2KPiPiPi0_kaon",3 ,xorigin);
1342 fillTrackItem(tracks[1],
"DC2KPiPiPi0_pion1",2 ,xorigin);
1343 fillTrackItem(tracks[2],
"DC2KPiPiPi0_pion2",2 ,xorigin);
1353 pi0info.
setchilds(showers[0],showers[1]);
1360 if (pi0info.
m() >m_mpi0Max || pi0info.
m() < m_mpi0Min)
1362 fillPi0Item(showers,
"DC2KsPiPi0" ,&pi0info );
1363 fillDecayModeItem(bestDTag,
"DC2KsPiPi0" );
1364 fillTrackItem(tracks[0],
"DC2KsPiPi0_pion1",2 ,xorigin);
1365 fillTrackItem(tracks[1],
"DC2KsPiPi0_pion2",2 ,xorigin);
1366 fillTrackItem(tracks[2],
"DC2KsPiPi0_pion3",2 ,xorigin);
1367 fillKsItem(tracks,
"DC2KsPiPi0" ,&ksinfo);
1386 fillKsItem(tracks,
"DC2KsPiPiPi" ,&ksinfo);
1390 fillDecayModeItem(bestDTag,
"DC2KsPiPiPi" );
1398 HepLorentzVector p4pion1 = mdcKalTrk1->
p4(
xmass[2]);
1399 HepLorentzVector p4pion2 = mdcKalTrk2->
p4(
xmass[2]);
1400 HepLorentzVector p4pion3 = mdcKalTrk3->
p4(
xmass[2]);
1401 HepLorentzVector p4pion4 = mdcKalTrk4->
p4(
xmass[2]);
1402 HepLorentzVector p4pion5 = mdcKalTrk5->
p4(
xmass[2]);
1403 m_DC2KsPiPiPi_pion1_pp = p4pion1.rho();
1404 m_DC2KsPiPiPi_pion2_pp = p4pion2.rho();
1405 m_DC2KsPiPiPi_pion3_pp = p4pion3.rho();
1406 m_DC2KsPiPiPi_pion4_pp = p4pion4.rho();
1407 m_DC2KsPiPiPi_pion5_pp = p4pion5.rho();
1408 m_DC2KsPiPiPi_pion1_Id = tracks[0]->trackId();
1409 m_DC2KsPiPiPi_pion2_Id = tracks[1]->trackId();
1410 m_DC2KsPiPiPi_pion3_Id = tracks[2]->trackId();
1411 m_DC2KsPiPiPi_pion4_Id = tracks[3]->trackId();
1412 m_DC2KsPiPiPi_pion5_Id = tracks[4]->trackId();
1417 const int MODE = 10;
1418 fillDecayModeItem(bestDTag,
"DC2KKPi" );
1424 HepLorentzVector p4kaon1 = mdcKalTrk1->
p4(
xmass[3]);
1425 HepLorentzVector p4kaon2 = mdcKalTrk2->
p4(
xmass[3]);
1427 HepLorentzVector p4pion = mdcKalTrk3->
p4(
xmass[2]);
1428 m_DC2KKPi_kaon1_pp = p4kaon1.rho();
1429 m_DC2KKPi_kaon2_pp = p4kaon2.rho();
1430 m_DC2KKPi_pion_pp = p4pion.rho();
1431 m_DC2KKPi_kaon1_Id = tracks[0]->trackId();
1432 m_DC2KKPi_kaon2_Id = tracks[1]->trackId();
1433 m_DC2KKPi_pion_Id = tracks[2]->trackId();
1436 if ((bestDTag)->charge() == 0)
1438 m_D0_mBC = (bestDTag)->mBC();
1439 m_D0_deltE = (bestDTag)->deltaE();
1440 m_D0_mass = (bestDTag)->
mass();
1443 if ((bestDTag)->charge() != 0)
1445 m_DC_mBC = (bestDTag)->mBC();
1446 m_DC_deltE = (bestDTag)->deltaE();
1447 m_DC_mass = (bestDTag)->
mass();
1452 m_numAllMode = indexDAll;
1453 m_numD0Mode = indexD0All;
1454 m_numDCMode = indexDCAll;
1455 m_recNumD02KPi = indexD[0];
1456 m_recNumD02KPiPi0 = indexD[1];
1457 m_recNumD02KPiPiPi = indexD[2];
1458 m_recNumD02KPiPiPiPi0 = indexD[3];
1459 m_recNumD02KsPiPi = indexD[4];
1460 m_recNumD02KsPiPiPi0 = indexD[5];
1461 m_recNumDC2KPiPi = indexD[6];
1462 m_recNumDC2KPiPiPi0 = indexD[7];
1463 m_recNumDC2KsPiPi0 = indexD[8];
1464 m_recNumDC2KsPiPiPi = indexD[9];
1465 m_recNumDC2KKPi = indexD[10];
1466 int taggedMode = -1;
1467 for (
int i=0; i!=11; i++)
1469 if (indexD[i] == 1 )
1477 for(
int i = 0; i < evtRecEvent->totalCharged(); i++){
1479 if(!(*itTrk)->isMdcTrackValid())
continue;
1480 if (!(*itTrk)->isMdcKalTrackValid())
continue;
1484 double pch =mdcTrk->
p();
1485 double x0 =mdcTrk->
x();
1486 double y0 =mdcTrk->
y();
1487 double z0 =mdcTrk->
z();
1488 double phi0=mdcTrk->
helix(1);
1489 double xv=xorigin.x();
1490 double yv=xorigin.y();
1491 double Rxy=fabs((x0-xv)*
cos(phi0)+(y0-yv)*
sin(phi0));
1492 m_vtxTrkId = (*itTrk)->trackId();
1495 m_vz0 = z0-xorigin.z();
1498 if (m_writeTuple && m_checkVtx)
1500 if(fabs(m_vz0) >= m_vz0cut)
continue;
1501 if(m_vr0 >= m_vr0cut)
continue;
1502 if(fabs(m_Vct)>=m_cthcut)
continue;
1504 iGood.push_back((*itTrk)->trackId());
1505 nCharge += mdcTrk->
charge();
1507 int nGood = iGood.size();
1513 if ( m_writeTuple && (m_checkDedx || m_checkTof))
1517 for(
int i = evtRecEvent->totalCharged(); i< evtRecEvent->totalTracks(); i++) {
1519 if(!(*itTrk)->isEmcShowerValid())
continue;
1521 Hep3Vector emcpos(emcTrk->
x(), emcTrk->
y(), emcTrk->
z());
1526 for(
int j = 0; j < evtRecEvent->totalCharged(); j++) {
1528 if(!(*jtTrk)->isExtTrackValid())
continue;
1533 double angd = extpos.angle(emcpos);
1534 double thed = extpos.theta() - emcpos.theta();
1535 double phid = extpos.deltaPhi(emcpos);
1536 thed = fmod(thed+CLHEP::twopi+CLHEP::twopi+
pi, CLHEP::twopi) - CLHEP::pi;
1537 phid = fmod(phid+CLHEP::twopi+CLHEP::twopi+
pi, CLHEP::twopi) - CLHEP::pi;
1539 if(fabs(thed) < fabs(dthe)) dthe = thed;
1540 if(fabs(phid) < fabs(dphi)) dphi = phid;
1541 if(angd < dang) dang = angd;
1543 if(dang>=200)
continue;
1544 double eraw = emcTrk->
energy();
1545 dthe = dthe * 180 / (CLHEP::pi);
1546 dphi = dphi * 180 / (CLHEP::pi);
1547 dang = dang * 180 / (CLHEP::pi);
1548 double m_dthe = dthe;
1549 double m_dphi = dphi;
1550 double m_dang = dang;
1551 double m_eraw = eraw;
1552 double theta=
cos(emcpos.theta());
1553 if ((fabs(theta) > m_Barrel_th && fabs(theta) < m_Endcap_th_1) || fabs(theta) > m_Endcap_th_2 )
continue;
1555 if((emcTrk->
module()==0 || emcTrk->
module()==2)&&eraw < m_energyThreshold_e)
continue;
1556 else if( emcTrk->
module()==1 && eraw < m_energyThreshold_b)
continue;
1558 if(dang < m_gammaAngCut)
continue;
1562 iGam.push_back((*itTrk)->trackId());
1568 int nGam = iGam.size();
1576 for(
int i = 0; i < nGam; i++) {
1579 double eraw = emcTrk->
energy();
1580 double phi = emcTrk->
phi();
1581 double the = emcTrk->
theta();
1582 HepLorentzVector ptrk;
1583 ptrk.setPx(eraw*
sin(the)*
cos(phi));
1584 ptrk.setPy(eraw*
sin(the)*
sin(phi));
1585 ptrk.setPz(eraw*
cos(the));
1588 pGam.push_back(ptrk);
1597 for(
int ii = 0; ii < nGood; ii++) {
1601 m_chimu[ii] = 999.0;
1602 m_chipi[ii] = 999.0;
1607 m_probPH[ii] = 1999.0;
1608 m_normPH[ii] = 999.0;
1611 for(
int i = 0; i < nGood; i++) {
1613 if(!(*itTrk)->isMdcTrackValid())
continue;
1614 if(!(*itTrk)->isMdcDedxValid())
continue;
1617 m_trkiddedx[indx0] = (*itTrk)->trackId();
1618 m_ptrk[indx0] = mdcTrk->
p();
1619 m_chie[indx0] = dedxTrk->
chiE();
1620 m_chimu[indx0] = dedxTrk->
chiMu();
1621 m_chipi[indx0] = dedxTrk->
chiPi();
1622 m_chik[indx0] = dedxTrk->
chiK();
1623 m_chip[indx0] = dedxTrk->
chiP();
1626 m_probPH[indx0] = dedxTrk->
probPH();
1627 m_normPH[indx0] = dedxTrk->
normPH();
1638 for(
int ii = 0; ii < nGood; ii++) {
1640 m_cntr_etof[ii] = 999.0;
1641 m_ptot_etof[ii] = 999.0;
1642 m_ph_etof[ii] = 999.0;
1643 m_rhit_etof[ii] = 999.0;
1644 m_qual_etof[ii] = 999.0;
1645 m_te_etof[ii] = 999.0;
1646 m_tmu_etof[ii] = 999.0;
1647 m_tpi_etof[ii] = 999.0;
1648 m_tk_etof[ii] = 999.0;
1649 m_tp_etof[ii] = 999.0;
1650 m_ec_tof[ii] = 999.0;
1651 m_ec_toff_e[ii] = 999.0;
1652 m_ec_toff_mu[ii] = 999.0;
1653 m_ec_toff_pi[ii] = 999.0;
1654 m_ec_toff_k[ii] = 999.0;
1655 m_ec_toff_p[ii] = 999.0;
1656 m_ec_tsig_e[ii] = 999.0;
1657 m_ec_tsig_mu[ii] = 999.0;
1658 m_ec_tsig_pi[ii] = 999.0;
1659 m_ec_tsig_k[ii] = 999.0;
1660 m_ec_tsig_p[ii] = 999.0;
1663 m_cntr_btof1[ii] = 999.0;
1664 m_ptot_btof1[ii] = 999.0;
1665 m_ph_btof1[ii] = 999.0;
1666 m_zhit_btof1[ii] = 999.0;
1667 m_qual_btof1[ii] = 999.0;
1668 m_te_btof1[ii] = 999.0;
1669 m_tmu_btof1[ii] = 999.0;
1670 m_tpi_btof1[ii] = 999.0;
1671 m_tk_btof1[ii] = 999.0;
1672 m_tp_btof1[ii] = 999.0;
1673 m_b1_tof[ii] = 999.0;
1674 m_b1_toff_e[ii] = 999.0;
1675 m_b1_toff_mu[ii] = 999.0;
1676 m_b1_toff_pi[ii] = 999.0;
1677 m_b1_toff_k[ii] = 999.0;
1678 m_b1_toff_p[ii] = 999.0;
1679 m_b1_tsig_e[ii] = 999.0;
1680 m_b1_tsig_mu[ii] = 999.0;
1681 m_b1_tsig_pi[ii] = 999.0;
1682 m_b1_tsig_k[ii] = 999.0;
1683 m_b1_tsig_p[ii] = 999.0;
1693 for(
int i = 0; i < nGood; i++) {
1695 if(!(*itTrk)->isMdcTrackValid())
continue;
1696 if(!(*itTrk)->isTofTrackValid())
continue;
1699 SmartRefVector<RecTofTrack> tofTrkCol = (*itTrk)->tofTrack();
1701 double ptrk = mdcTrk->
p();
1702 SmartRefVector<RecTofTrack>::iterator iter_tof = tofTrkCol.begin();
1703 for(;iter_tof != tofTrkCol.end(); iter_tof++ ) {
1705 status->
setStatus((*iter_tof)->status());
1708 if( status->
layer()!=1 )
continue;
1709 double path=(*iter_tof)->path();
1710 double tof = (*iter_tof)->tof();
1711 double ph = (*iter_tof)->ph();
1712 double rhit = (*iter_tof)->zrhit();
1713 double qual = 0.0 + (*iter_tof)->quality();
1714 double cntr = 0.0 + (*iter_tof)->tofID();
1717 for(
int j = 0; j < 5; j++) {
1718 texp[j] = (*iter_tof)->texp(j);
1722 m_trkidtof[indx1] = (*itTrk)->trackId();
1723 m_cntr_etof[indx1] = cntr;
1724 m_ptot_etof[indx1] = ptrk;
1725 m_ph_etof[indx1] = ph;
1726 m_rhit_etof[indx1] = rhit;
1727 m_qual_etof[indx1] = qual;
1728 m_te_etof[indx1] = tof - texp[0];
1729 m_tmu_etof[indx1] = tof - texp[1];
1730 m_tpi_etof[indx1] = tof - texp[2];
1731 m_tk_etof[indx1] = tof - texp[3];
1732 m_tp_etof[indx1] = tof - texp[4];
1734 m_ec_tof[indx1] = tof;
1736 m_ec_toff_e[indx1] = (*iter_tof)->toffset(0);
1737 m_ec_toff_mu[indx1] = (*iter_tof)->toffset(1);
1738 m_ec_toff_pi[indx1] = (*iter_tof)->toffset(2);
1739 m_ec_toff_k[indx1] = (*iter_tof)->toffset(3);
1740 m_ec_toff_p[indx1] = (*iter_tof)->toffset(4);
1742 m_ec_tsig_e[indx1] = (*iter_tof)->sigma(0);
1743 m_ec_tsig_mu[indx1] = (*iter_tof)->sigma(1);
1744 m_ec_tsig_pi[indx1] = (*iter_tof)->sigma(2);
1745 m_ec_tsig_k[indx1] = (*iter_tof)->sigma(3);
1746 m_ec_tsig_p[indx1] = (*iter_tof)->sigma(4);
1751 double path=(*iter_tof)->path();
1752 double tof = (*iter_tof)->tof();
1753 double ph = (*iter_tof)->ph();
1754 double rhit = (*iter_tof)->zrhit();
1755 double qual = 0.0 + (*iter_tof)->quality();
1756 double cntr = 0.0 + (*iter_tof)->tofID();
1758 for(
int j = 0; j < 5; j++) {
1759 texp[j] = (*iter_tof)->texp(j);
1761 m_cntr_btof1[indx1] = cntr;
1762 m_ptot_btof1[indx1] = ptrk;
1763 m_ph_btof1[indx1] = ph;
1764 m_zhit_btof1[indx1] = rhit;
1765 m_qual_btof1[indx1] = qual;
1766 m_te_btof1[indx1] = tof - texp[0];
1767 m_tmu_btof1[indx1] = tof - texp[1];
1768 m_tpi_btof1[indx1] = tof - texp[2];
1769 m_tk_btof1[indx1] = tof - texp[3];
1770 m_tp_btof1[indx1] = tof - texp[4];
1772 m_b1_tof[indx1] = tof;
1774 m_b1_toff_e[indx1] = (*iter_tof)->toffset(0);
1775 m_b1_toff_mu[indx1] = (*iter_tof)->toffset(1);
1776 m_b1_toff_pi[indx1] = (*iter_tof)->toffset(2);
1777 m_b1_toff_k[indx1] = (*iter_tof)->toffset(3);
1778 m_b1_toff_p[indx1] = (*iter_tof)->toffset(4);
1780 m_b1_tsig_e[indx1] = (*iter_tof)->sigma(0);
1781 m_b1_tsig_mu[indx1] = (*iter_tof)->sigma(1);
1782 m_b1_tsig_pi[indx1] = (*iter_tof)->sigma(2);
1783 m_b1_tsig_k[indx1] = (*iter_tof)->sigma(3);
1784 m_b1_tsig_p[indx1] = (*iter_tof)->sigma(4);
1795 for (
int i=0; i<nGam; i++)
1798 if (!(*itTrk)->isEmcShowerValid())
continue;
1800 m_shwidtof[iphoton] = (*itTrk)->trackId();
1801 m_numHits[iphoton] = emcTrk->
numHits();
1803 m_x[iphoton] = emcTrk->
x();
1804 m_y[iphoton]= emcTrk->
y();
1805 m_z[iphoton]= emcTrk->
z();
1806 m_cosemc[iphoton] =
cos(emcTrk->
theta());
1807 m_phiemc[iphoton] = emcTrk->
phi();
1808 m_energy[iphoton] = emcTrk->
energy();
1809 m_eSeed[iphoton] = emcTrk->
eSeed();
1810 m_e3x3[iphoton] = emcTrk->
e3x3();
1811 m_e5x5[iphoton] = emcTrk->
e5x5();
1824 if (taggedMode != -1 )
1826 string strdecaymode[11] = {
"D02KPi",
"D02KPiPi0",
"D02KPiPiPi",
"D02KPiPiPiPi0",
"D02KsPiPi",
"D02KsPiPiPi0",\
1827 "DC2KPiPi",
"DC2KPiPiPi0",
"DC2KsPiPi0",
"DC2KsPiPiPi",
"DC2KKPi"};
1828 int pi0cut[11] = {0,1,0,1,0,1,0,1,1,0,0};
1829 int kscut[11] = {0,0,0,0,1,1,0,0,1,1,0};
1830 string strtrack[14] = {
"D02KPi_kaon",
"D02KPi_pion",
"D02KPiPi0_kaon",
"D02KPiPi0_pion",
"D02KsPiPi_pion1",\
1831 "D02KsPiPi_pion2",
"D02KsPiPi_pion3",
"D02KsPiPi_pion4",
"DC2KPiPi_kaon",
"DC2KPiPi_pion1",
"DC2KPiPi_pion2",\
1832 "DC2KsPiPi0_pion1",
"DC2KsPiPi0_pion2",
"DC2KsPiPi0_pion3" };
1837 fillHistogram(m_thsvc,strdecaymode[taggedMode],3,m_decayModeHistName,m_tuple4,pi0cut[taggedMode],kscut[taggedMode]);
1838 string strDdecaymode[2] = {
"D0",
"DC"};
1842 fillHistogram(m_thsvc,strDdecaymode[0],3,m_decayModeHistName,m_tuple4);
1844 fillHistogram(m_thsvc,strDdecaymode[1],3,m_decayModeHistName,m_tuple4);
1846 string strtrackdedx[7] = {
"D02KPi_kaon",
"D02KPi_pion",
"D02KPiPi0_kaon",
"D02KPiPi0_pion",
"DC2KPiPi_kaon",
"DC2KPiPi_pion1",
"DC2KPiPi_pion2"};
1847 string strtracktof[7] = {
"D02KPi_kaon",
"D02KPi_pion",
"D02KPiPi0_kaon",
"D02KPiPi0_pion",
"DC2KPiPi_kaon",
"DC2KPiPi_pion1",
"DC2KPiPi_pion2"};
1848 string strphoton[2] = {
"D02KPiPi0_photon1",
"D02KPiPi0_photon2"};
1849 string strpi0[2] = {
"D02KPiPi0",
"DC2KsPiPi0"};
1850 string strks[2] = {
"D02KsPiPi_ks",
"DC2KsPiPi0_ks"};
1851 if (taggedMode == 0)
1853 if (g_mBC > 1.86 && g_mBC < 1.87 && fabs(g_deltE) < 0.03)
1855 fillHistogram(m_thsvc,strtrack[0],10,m_trackHistName,m_tuple4);
1856 fillHistogram(m_thsvc,strtrack[1],10,m_trackHistName,m_tuple4);
1857 fillHistogram(m_thsvc,strtrackdedx[0],6,m_trackDedxHistName,m_tuple4);
1858 fillHistogram(m_thsvc,strtrackdedx[1],6,m_trackDedxHistName,m_tuple4);
1859 fillTofHistogram(m_thsvc,strtracktof[0]);
1860 fillTofHistogram(m_thsvc,strtracktof[1]);
1863 if (taggedMode == 1)
1865 if (g_mBC > 1.86 && g_mBC < 1.87 && g_deltE > -0.0583 && g_deltE < 0.035 )
1867 fillHistogram(m_thsvc,strtrack[2],10,m_trackHistName,m_tuple4);
1868 fillHistogram(m_thsvc,strtrack[3],10,m_trackHistName,m_tuple4);
1870 fillHistogram(m_thsvc,strtrackdedx[2],6,m_trackDedxHistName,m_tuple4);
1871 fillHistogram(m_thsvc,strtrackdedx[3],6,m_trackDedxHistName,m_tuple4);
1872 fillTofHistogram(m_thsvc,strtracktof[2]);
1873 fillTofHistogram(m_thsvc,strtracktof[3]);
1874 fillHistogram(m_thsvc,strphoton[0],5,m_photonHistName,m_tuple4);
1875 fillHistogram(m_thsvc,strphoton[1],5,m_photonHistName,m_tuple4);
1877 fillHistogram(m_thsvc,strpi0[0],5,m_Pi0HistName,m_tuple4);
1880 if (taggedMode == 4)
1882 if (g_mBC > 1.86 && g_mBC < 1.87 && fabs(g_deltE) < 0.03 )
1884 fillHistogram(m_thsvc,strtrack[4],10,m_trackHistName,m_tuple4);
1885 fillHistogram(m_thsvc,strtrack[5],10,m_trackHistName,m_tuple4);
1886 fillHistogram(m_thsvc,strtrack[6],10,m_trackHistName,m_tuple4);
1887 fillHistogram(m_thsvc,strtrack[7],10,m_trackHistName,m_tuple4);
1889 fillHistogram(m_thsvc,strks[0],4,m_KsHistName,m_tuple4);
1892 if (taggedMode == 6)
1894 if (g_mBC > 1.86 && g_mBC < 1.87 && fabs(g_deltE) < 0.0218 )
1896 fillHistogram(m_thsvc,strtrack[8],10,m_trackHistName,m_tuple4);
1897 fillHistogram(m_thsvc,strtrack[9],10,m_trackHistName,m_tuple4);
1898 fillHistogram(m_thsvc,strtrack[10],10,m_trackHistName,m_tuple4);
1899 fillTofHistogram(m_thsvc,strtracktof[4]);
1900 fillTofHistogram(m_thsvc,strtracktof[5]);
1901 fillTofHistogram(m_thsvc,strtracktof[6]);
1902 fillHistogram(m_thsvc,strtrackdedx[4],6,m_trackDedxHistName,m_tuple4);
1903 fillHistogram(m_thsvc,strtrackdedx[5],6,m_trackDedxHistName,m_tuple4);
1904 fillHistogram(m_thsvc,strtrackdedx[6],6,m_trackDedxHistName,m_tuple4);
1907 if (taggedMode == 8)
1909 if (g_mBC > 1.86 && g_mBC < 1.87 && g_deltE < 0.0423 && g_deltE > -0.0455 )
1911 fillHistogram(m_thsvc,strtrack[11],10,m_trackHistName,m_tuple4);
1912 fillHistogram(m_thsvc,strtrack[12],10,m_trackHistName,m_tuple4);
1913 fillHistogram(m_thsvc,strtrack[13],10,m_trackHistName,m_tuple4);
1915 fillHistogram(m_thsvc,strpi0[1],5,m_Pi0HistName,m_tuple4);
1916 fillHistogram(m_thsvc,strks[1],4,m_KsHistName,m_tuple4);
1925 if (m_writeTuple && m_checkEvt)
1934 setFilterPassed(
true);
1936 return StatusCode::SUCCESS;
1940void DQADtag::regTrackHistogram(ITHistSvc*& ,
string &str)
1942 MsgStream log(
msgSvc(), name());
1944 TString hisname[NUM];
1945 TString strHisReg[NUM];
1946 TString strHisLog[NUM];
1947 for (
int i=0;i!=NUM;i++)
1949 hisname[i] = str +
"_" + m_trackHistName[i];
1950 strHisLog[i] =
"Couldn't register " + hisname[i];
1951 strHisReg[i] =
"/DQAHist/Dtag/" + hisname[i];
1952 if (m_debug) cout<<
"hisname: "<<hisname[i]<<endl;
1953 if (m_debug) cout<<
"strHisReg: "<<strHisReg[i]<<endl;
1956 hist[0] =
new TH1F(hisname[0] , hisname[0], 100,-1.1,1.1);
1957 hist[1] =
new TH1F(hisname[1] , hisname[1], 100,-1.1,1.1);
1958 hist[2] =
new TH1F(hisname[2] , hisname[2], 100,-1.1,1.1);
1959 hist[3] =
new TH1F(hisname[3] , hisname[3], 200,0.,1.2);
1960 hist[4] =
new TH1F(hisname[4] , hisname[4], 100,-1.,1.);
1961 hist[5] =
new TH1F(hisname[5] , hisname[5], 100,-1.,1.);
1962 hist[6] =
new TH1F(hisname[6] , hisname[6], 100,-10.,10.);
1963 hist[7] =
new TH1F(hisname[7] , hisname[7], 100,-1.,1.);
1964 hist[8] =
new TH1F(hisname[8] , hisname[8], 100,-1.,1.);
1965 hist[9] =
new TH1F(hisname[9] , hisname[9], 200,0.,1.4);
1966 for (
int i=0;i!=NUM;i++)
1968 if(m_thsvc->regHist((
string)strHisReg[i], hist[i]).isFailure()) {
1969 log << MSG::ERROR << strHisLog[i] << endreq;
1973void DQADtag::regPhotonHistogram(ITHistSvc*& ,
string &str)
1975 MsgStream log(
msgSvc(), name());
1977 TString hisname[NUM];
1978 TString strHisReg[NUM];
1979 TString strHisLog[NUM];
1980 for (
int i=0;i!=NUM;i++)
1982 hisname[i] = str +
"_" + m_photonHistName[i];
1983 strHisLog[i] =
"Couldn't register " + hisname[i];
1984 strHisReg[i] =
"/DQAHist/Dtag/" + hisname[i];
1985 if (m_debug) cout<<
"hisname: "<<hisname[i]<<endl;
1986 if (m_debug) cout<<
"strHisReg: "<<strHisReg[i]<<endl;
1989 hist[0] =
new TH1F(hisname[0] , hisname[0], 80,0,40);
1990 hist[1] =
new TH1F(hisname[1] , hisname[1], 160,0,80);
1991 hist[2] =
new TH1F(hisname[2] , hisname[2], 100,-100.,100.);
1992 hist[3] =
new TH1F(hisname[3] , hisname[3], 100,-100.,100.);
1993 hist[4] =
new TH1F(hisname[4] , hisname[4], 100,-150.,150.);
1994 for (
int i=0;i!=NUM;i++)
1996 if(m_thsvc->regHist((
string)strHisReg[i], hist[i]).isFailure()) {
1997 log << MSG::ERROR << strHisLog[i] << endreq;
2002void DQADtag::regTrackDedxHistogram(ITHistSvc*& ,
string& str)
2004 MsgStream log(
msgSvc(), name());
2006 TString hisname[NUM];
2007 TString strHisReg[NUM];
2008 TString strHisLog[NUM];
2009 for (
int i=0;i!=NUM;i++)
2011 hisname[i] = str +
"_" + m_trackDedxHistName[i];
2012 strHisLog[i] =
"Couldn't register " + hisname[i];
2013 strHisReg[i] =
"/DQAHist/Dtag/" + hisname[i];
2014 if (m_debug) cout<<
"hisname: "<<hisname[i]<<endl;
2015 if (m_debug) cout<<
"strHisReg: "<<strHisReg[i]<<endl;
2018 hist[0] =
new TH1F(hisname[0] , hisname[0], 200,-3.,5.);
2019 hist[1] =
new TH1F(hisname[1] , hisname[1], 200,-2.,15.);
2020 hist[2] =
new TH1F(hisname[2] , hisname[2], 80,0,40);
2021 hist[3] =
new TH1F(hisname[3] , hisname[3], 120,0,60);
2022 hist[4] =
new TH1F(hisname[4] , hisname[4], 100,200,1400);
2023 hist[5] =
new TH1F(hisname[5] , hisname[5], 100,0.6,1.5);
2024 for (
int i=0;i!=NUM;i++)
2026 if(m_thsvc->regHist((
string)strHisReg[i], hist[i]).isFailure()) {
2027 log << MSG::ERROR << strHisLog[i] << endreq;
2031void DQADtag::regTrackTofHistogram(ITHistSvc*& ,
string& str)
2033 MsgStream log(
msgSvc(), name());
2035 TString hisname[NUM];
2036 TString strHisReg[NUM];
2037 TString strHisLog[NUM];
2038 string tofReadOutID[7] = {
"1",
"2",
"3",
"4",
"12",
"34",
"1234"};
2040 for (
int i=0;i!=3;i++)
2042 for (
int j=0;j!=7;j++)
2045 hisname[
num] = str +
"_" + m_trackTofHistName[i] +
"_" + tofReadOutID[j];
2046 strHisLog[
num] =
"Couldn't register " + hisname[
num];
2047 strHisReg[
num] =
"/DQAHist/Dtag/" + hisname[
num];
2050 if (m_debug) cout<<
"hisname: "<<hisname[
num]<<endl;
2051 if (m_debug) cout<<
"strHisReg: "<<strHisReg[
num]<<endl;
2054 for (
int i=3;i!=6;i++)
2057 hisname[
num] = str +
"_" + m_trackTofHistName[i];
2058 strHisLog[
num] =
"Couldn't register " + hisname[
num];
2059 strHisReg[
num] =
"/DQAHist/Dtag/" + hisname[
num];
2062 for (
int i=0;i!=24;i++)
2064 hist[i] =
new TH1F(hisname[i] , hisname[i], 100,-4.0,4.);
2066 for (
int i=0;i!=NUM;i++)
2068 if(m_thsvc->regHist((
string)strHisReg[i], hist[i]).isFailure()) {
2069 log << MSG::ERROR << strHisLog[i] << endreq;
2073void DQADtag::regDecayModeHistogram(ITHistSvc*& ,
string& str)
2075 MsgStream log(
msgSvc(), name());
2077 TString hisname[NUM];
2078 TString strHisReg[NUM];
2079 TString strHisLog[NUM];
2080 for (
int i=0;i!=NUM;i++)
2082 hisname[i] = str +
"_" + m_decayModeHistName[i];
2083 strHisLog[i] =
"Couldn't register " + hisname[i];
2084 strHisReg[i] =
"/DQAHist/Dtag/" + hisname[i];
2085 if (m_debug) cout<<
"hisname: "<<hisname[i]<<endl;
2086 if (m_debug) cout<<
"strHisReg: "<<strHisReg[i]<<endl;
2089 hist[0] =
new TH1F(hisname[0] , hisname[0], 100,1.83,1.89);
2090 hist[1] =
new TH1F(hisname[1] , hisname[1], 100,-0.1,0.1);
2091 hist[2] =
new TH1F(hisname[2] , hisname[2], 100,1.83,1.89);
2092 for (
int i=0;i!=NUM;i++)
2094 if(m_thsvc->regHist((
string)strHisReg[i], hist[i]).isFailure()) {
2095 log << MSG::ERROR << strHisLog[i] << endreq;
2099void DQADtag::regKsHistogram(ITHistSvc*& ,
string& str)
2101 MsgStream log(
msgSvc(), name());
2103 TString hisname[NUM];
2104 TString strHisReg[NUM];
2105 TString strHisLog[NUM];
2107 for (
int i=0;i!=NUM;i++)
2109 hisname[i] = str +
"_ks_" + m_KsHistName[i];
2110 strHisLog[i] =
"Couldn't register " + hisname[i];
2111 strHisReg[i] =
"/DQAHist/Dtag/" + hisname[i];
2112 if (m_debug) cout<<
"hisname: "<<hisname[i]<<endl;
2113 if (m_debug) cout<<
"strHisReg: "<<strHisReg[i]<<endl;
2115 hist[0] =
new TH1F(hisname[0] , hisname[0], 100,0.46,0.54);
2116 hist[1] =
new TH1F(hisname[1] , hisname[1], 100,0.46,0.54);
2117 hist[2] =
new TH1F(hisname[2] , hisname[2], 100,0,30);
2118 hist[3] =
new TH1F(hisname[3] , hisname[3], 100,0,30);
2119 for (
int i=0;i!=NUM;i++)
2121 if(m_thsvc->regHist((
string)strHisReg[i], hist[i]).isFailure()) {
2122 log << MSG::ERROR << strHisLog[i] << endreq;
2126void DQADtag::regPi0Histogram(ITHistSvc*& ,
string& str)
2128 MsgStream log(
msgSvc(), name());
2130 TString hisname[NUM];
2131 TString strHisReg[NUM];
2132 TString strHisLog[NUM];
2134 for (
int i=0;i!=NUM;i++)
2136 hisname[i] = str +
"_" + m_Pi0HistName[i];
2137 strHisLog[i] =
"Couldn't register " + hisname[i];
2138 strHisReg[i] =
"/DQAHist/Dtag/" + hisname[i];
2139 if (m_debug) cout<<
"hisname: "<<hisname[i]<<endl;
2140 if (m_debug) cout<<
"strHisReg: "<<strHisReg[i]<<endl;
2142 hist[0] =
new TH1F(hisname[0] , hisname[0], 100,0.08,0.18);
2143 hist[1] =
new TH1F(hisname[1] , hisname[1], 100,0.0,1.0);
2144 hist[2] =
new TH1F(hisname[2] , hisname[2], 100,-1.0,1.0);
2145 hist[3] =
new TH1F(hisname[3] , hisname[3], 100,0.0,1.0);
2146 hist[4] =
new TH1F(hisname[4] , hisname[4], 100,-1.0,1.0);
2147 for (
int i=0;i!=NUM;i++)
2149 if(m_thsvc->regHist((
string)strHisReg[i], hist[i]).isFailure()) {
2150 log << MSG::ERROR << strHisLog[i] << endreq;
2154void DQADtag::fillHistogram(ITHistSvc*& ,
string str,
int NUM,
string* fillHistName, NTuple::Tuple*& m_tuple)
2156 MsgStream log(
msgSvc(), name());
2157 string* strVarName =
new string[NUM];
2158 string* strHisGet =
new string[NUM];
2159 string* strHisLog =
new string[NUM];
2161 for (
int i=0;i!=NUM;i++)
2163 strVarName[i] = str +
"_" + fillHistName[i];
2164 strHisLog[i] =
"Couldn't retrieve " + strVarName[i];
2165 strHisGet[i] =
"/DQAHist/Dtag/" + strVarName[i];
2168 NTuple::Item<double> m_Variable;
2169 m_tuple->item(strVarName[i],m_Variable);
2170 if (m_thsvc->getHist(strHisGet[i], hist).isSuccess()) {
2171 hist->Fill(m_Variable);
2174 log << MSG::ERROR << strHisLog[i] << endreq;
2178 delete [] strVarName;
2179 delete [] strHisGet;
2180 delete [] strHisLog;
2182void DQADtag::fillHistogram(ITHistSvc*& ,
string str,
int NUM,
string* fillHistName, NTuple::Tuple*& m_tuple,
int pi0cut,
int kscut)
2184 MsgStream log(
msgSvc(), name());
2185 string* strVarName =
new string[NUM];
2186 string* strHisGet =
new string[NUM];
2187 string* strHisLog =
new string[NUM];
2189 NTuple::Item<double> m_Variable0;
2190 NTuple::Item<double> m_Variable1;
2191 NTuple::Item<double> m_Variable2;
2192 NTuple::Item<double> m_Variable3;
2194 m_tuple->item(str+
"_pi0mass",m_Variable0);
2196 m_tuple->item(str+
"_ks_vfitmass",m_Variable1);
2197 m_tuple->item(str+
"_deltE",m_Variable2);
2198 m_tuple->item(str+
"_mBC",m_Variable3);
2199 for (
int i=0;i!=NUM;i++)
2201 strVarName[i] = str +
"_" + fillHistName[i];
2202 strHisLog[i] =
"Couldn't retrieve " + strVarName[i];
2203 strHisGet[i] =
"/DQAHist/Dtag/" + strVarName[i];
2206 NTuple::Item<double> m_Variable;
2207 m_tuple->item(strVarName[i],m_Variable);
2208 if (m_thsvc->getHist(strHisGet[i], hist).isSuccess()) {
2212 if (m_Variable0>m_mpi0MaxCut||m_Variable0<m_mpi0MinCut) isfill = 0;
2216 if (m_Variable1>m_mKsMaxCut||m_Variable1<m_mKsMinCut) isfill = 0;
2220 if (fabs(m_Variable2)>0.03) isfill = 0;
2224 if (m_Variable3 > 1.87 || m_Variable3 < 1.86 ) isfill = 0;
2228 if (m_Variable3 > 1.87 || m_Variable3 < 1.86 || fabs(m_Variable2)>0.03 ) isfill = 0;
2232 hist->Fill(m_Variable);
2236 log << MSG::ERROR << strHisLog[i] << endreq;
2240 delete [] strVarName;
2241 delete [] strHisGet;
2242 delete [] strHisLog;
2244void DQADtag::fillTofHistogram(ITHistSvc*& ,
string str )
2246 MsgStream log(
msgSvc(), name());
2247 string strVarName[6];
2248 string strHisGet[24];
2249 string strHisLog[24];
2251 string tofReadOutID[7] = {
"1",
"2",
"3",
"4",
"12",
"34",
"1234"};
2252 for (
int i=0;i!=3;i++)
2254 strVarName[i] = str +
"_" + m_trackTofHistName[i];
2257 NTuple::Array<double> m_Variable;
2258 m_tuple4->item(strVarName[i],m_Variable);
2259 for (
int j=0;j!=7;j++)
2262 strHisLog[
num] =
"Couldn't retrieve " + strVarName[i] +
"_" + tofReadOutID[j];
2263 strHisGet[
num] =
"/DQAHist/Dtag/" + strVarName[i] +
"_" + tofReadOutID[j];
2264 if (m_thsvc->getHist(strHisGet[
num], hist).isSuccess()) {
2265 hist->Fill(m_Variable[j]);
2268 log << MSG::ERROR << strHisLog[
num] << endreq;
2272 for (
int i=3;i!=6;i++)
2275 strVarName[i] = str +
"_" + m_trackTofHistName[i];
2276 strHisLog[
num] =
"Couldn't retrieve " + strVarName[i];
2277 strHisGet[
num] =
"/DQAHist/Dtag/" + strVarName[i];
2280 NTuple::Item<double> m_Variable;
2281 m_tuple4->item(strVarName[i],m_Variable);
2282 if (m_thsvc->getHist(strHisGet[
num], hist).isSuccess()) {
2283 hist->Fill(m_Variable);
2286 log << MSG::ERROR << strHisLog[
num] << endreq;
2291void DQADtag::fillHistogram(ITHistSvc*& ,
string str,
int NUM,
string* fillHistName,
int tuplenum,
bool cut)
2293 MsgStream log(
msgSvc(), name());
2294 string* strVarName =
new string[NUM];
2295 string* strHisGet =
new string[NUM];
2296 string* strHisLog =
new string[NUM];
2298 string pi0VarName = str +
"_pi0mass";
2299 NTuple::Item<double> m_pi0Variable;
2300 m_tuple4->item(pi0VarName,m_pi0Variable);
2301 for (
int i=0;i!=NUM;i++)
2303 strVarName[i] = str +
"_" + fillHistName[i];
2304 strHisLog[i] =
"Couldn't retrieve " + strVarName[i];
2305 strHisGet[i] =
"/DQAHist/Dtag/" + strVarName[i];
2308 NTuple::Item<double> m_Variable;
2309 m_tuple4->item(strVarName[i],m_Variable);
2310 if (m_thsvc->getHist(strHisGet[i], hist).isSuccess()) {
2311 if(! (m_pi0Variable >m_mpi0Max || m_pi0Variable < m_mpi0Min))
2313 hist->Fill(m_Variable);
2317 log << MSG::ERROR << strHisLog[i] << endreq;
2320 delete [] strVarName;
2321 delete [] strHisGet;
2322 delete [] strHisLog;
2324void DQADtag::fillDecayModeItem(
EvtRecDTag* bestDTag,
string str)
2326 string strVarName[6];
2331 for (
int i=0;i!=6;i++ )
2333 strVarName[i] = str +
"_" + m_DecayModeItemName[i];
2336 NTuple::Item<double> m_Variable0;
2337 NTuple::Item<double> m_Variable1;
2338 NTuple::Item<double> m_Variable2;
2339 NTuple::Item<double> m_Variable3;
2340 NTuple::Item<double> m_Variable4;
2341 NTuple::Item<double> m_Variable5;
2342 m_tuple4->item(strVarName[0],m_Variable0);
2343 m_tuple4->item(strVarName[1],m_Variable1);
2344 m_tuple4->item(strVarName[2],m_Variable2);
2345 m_tuple4->item(strVarName[3],m_Variable3);
2346 m_tuple4->item(strVarName[4],m_Variable4);
2347 m_tuple4->item(strVarName[5],m_Variable5);
2348 m_Variable0=(bestDTag)->mBC();
2349 m_Variable1=(bestDTag)->deltaE();
2350 m_Variable2=(bestDTag)->p4().rho();
2351 m_Variable3=(bestDTag)->charm();
2352 m_Variable4=(bestDTag)->
mass();
2353 m_Variable5=(bestDTag)->beamE();
2355void DQADtag::fillTrackItem(
EvtRecTrack* track,
string str,
int type, Hep3Vector& xorigin)
2357 string strVarName[11];
2358 for (
int i=0;i!=11;i++ )
2360 strVarName[i] = str +
"_" + m_TrackItemName[i];
2363 NTuple::Item<double> m_Variable0;
2364 NTuple::Item<double> m_Variable1;
2365 NTuple::Item<double> m_Variable2;
2366 NTuple::Item<double> m_Variable3;
2367 NTuple::Item<double> m_Variable4;
2368 NTuple::Item<double> m_Variable5;
2369 NTuple::Item<double> m_Variable6;
2370 NTuple::Item<double> m_Variable7;
2371 NTuple::Item<double> m_Variable8;
2372 NTuple::Item<double> m_Variable9;
2373 NTuple::Item<long> m_Variable10;
2374 m_tuple4->item(strVarName[0],m_Variable0);
2375 m_tuple4->item(strVarName[1],m_Variable1);
2376 m_tuple4->item(strVarName[2],m_Variable2);
2377 m_tuple4->item(strVarName[3],m_Variable3);
2378 m_tuple4->item(strVarName[4],m_Variable4);
2379 m_tuple4->item(strVarName[5],m_Variable5);
2380 m_tuple4->item(strVarName[6],m_Variable6);
2381 m_tuple4->item(strVarName[7],m_Variable7);
2382 m_tuple4->item(strVarName[8],m_Variable8);
2383 m_tuple4->item(strVarName[9],m_Variable9);
2384 m_tuple4->item(strVarName[10],m_Variable10);
2390 HepLorentzVector p4trk = mdcKalTrk->
p4(
xmass[type]);
2392 HepVector a = mdcKalTrk->
helix();
2393 HepSymMatrix Ea = mdcKalTrk->
err();
2395 HepPoint3D IP(xorigin[0], xorigin[1], xorigin[2]);
2396 VFHelix helixip(point0, a, Ea);
2398 HepVector vecipa = helixip.a();
2400 m_Variable0 = p4trk.px();
2401 m_Variable1 = p4trk.py();
2402 m_Variable2 = p4trk.pz();
2403 m_Variable3 = p4trk.rho();
2404 m_Variable4 = mdcKalTrk->
dr() *
cos(mdcKalTrk->
fi0());
2405 m_Variable5 = mdcKalTrk->
dr() *
sin(mdcKalTrk->
fi0());
2406 m_Variable6 = mdcKalTrk->
dz();
2407 m_Variable7 = fabs(vecipa[0]);
2408 m_Variable8 = p4trk.cosTheta();
2409 m_Variable9 = p4trk.e();
2410 m_Variable10 = track->
trackId();
2412void DQADtag::fillPhotonItem(
EvtRecTrack* shower,
string str)
2414 string strVarName[6];
2415 for (
int i=0;i!=6;i++ )
2417 strVarName[i] = str +
"_" + m_PhotonItemName[i];
2420 NTuple::Item<double> m_Variable0;
2421 NTuple::Item<double> m_Variable1;
2422 NTuple::Item<double> m_Variable2;
2423 NTuple::Item<double> m_Variable3;
2424 NTuple::Item<double> m_Variable4;
2425 NTuple::Item<long> m_Variable5;
2426 m_tuple4->item(strVarName[0],m_Variable0);
2427 m_tuple4->item(strVarName[1],m_Variable1);
2428 m_tuple4->item(strVarName[2],m_Variable2);
2429 m_tuple4->item(strVarName[3],m_Variable3);
2430 m_tuple4->item(strVarName[4],m_Variable4);
2431 m_tuple4->item(strVarName[5],m_Variable5);
2433 m_Variable0 = emcTrk->
numHits();
2435 m_Variable2 = emcTrk->
x();
2436 m_Variable3 = emcTrk->
y();
2437 m_Variable4 = emcTrk->
z();
2438 m_Variable5 = shower->
trackId();
2440void DQADtag::fillPi0Item(SmartRefVector<EvtRecTrack> showers,
string str,
DQAPi0Info* pi0info)
2442 string strVarName[7];
2443 for (
int i=0;i!=7;i++ )
2445 strVarName[i] = str +
"_" + m_Pi0ItemName[i];
2453 NTuple::Item<double> m_Variable0;
2454 NTuple::Item<double> m_Variable1;
2455 NTuple::Item<double> m_Variable2;
2456 NTuple::Item<double> m_Variable3;
2457 NTuple::Item<double> m_Variable4;
2458 NTuple::Item<long> m_Variable5;
2459 NTuple::Item<long> m_Variable6;
2460 m_tuple4->item(strVarName[0],m_Variable0);
2461 m_tuple4->item(strVarName[1],m_Variable1);
2462 m_tuple4->item(strVarName[2],m_Variable2);
2463 m_tuple4->item(strVarName[3],m_Variable3);
2464 m_tuple4->item(strVarName[4],m_Variable4);
2465 m_tuple4->item(strVarName[5],m_Variable5);
2466 m_tuple4->item(strVarName[6],m_Variable6);
2467 m_Variable0 = pi0info->
m();
2468 m_Variable1 = showers[0]->emcShower()->energy();
2469 m_Variable2 =
cos(showers[0]->emcShower()->theta());
2470 m_Variable3 = showers[1]->emcShower()->energy();
2471 m_Variable4 =
cos(showers[1]->emcShower()->theta());
2472 m_Variable5 = showers[0]->trackId();
2473 m_Variable6 = showers[1]->trackId();
2475void DQADtag::fillKsItem(SmartRefVector<EvtRecTrack> tracks,
string str,
DQAKsInfo* ksinfo)
2477 string strVarName[6];
2478 for (
int i=0;i!=6;i++ )
2480 strVarName[i] = str +
"_ks_" + m_KsItemName[i];
2488 NTuple::Item<double> m_Variable0;
2489 NTuple::Item<double> m_Variable1;
2490 NTuple::Item<double> m_Variable2;
2491 NTuple::Item<double> m_Variable3;
2492 NTuple::Item<double> m_Variable4;
2493 NTuple::Item<double> m_Variable5;
2494 m_tuple4->item(strVarName[0],m_Variable0);
2495 m_tuple4->item(strVarName[1],m_Variable1);
2496 m_tuple4->item(strVarName[2],m_Variable2);
2497 m_tuple4->item(strVarName[3],m_Variable3);
2498 m_tuple4->item(strVarName[4],m_Variable4);
2499 m_tuple4->item(strVarName[5],m_Variable5);
2500 m_Variable0 = ksinfo->
m();
2501 m_Variable1 = ksinfo->
mksp4();
2502 m_Variable2 = ksinfo->
vtxChi2();
2503 m_Variable3 = ksinfo->
chi2();
2507int DQADtag::fillTrackTofItem(
EvtRecTrack* track,
string str,
int type)
2509 string strVarName[8];
2511 for (
int i=0;i!=8;i++ )
2513 strVarName[i] = str +
"_" + m_TrackTofItemName[i];
2516 NTuple::Array<double> m_Variable0;
2517 NTuple::Array<double> m_Variable1;
2518 NTuple::Array<double> m_Variable2;
2519 NTuple::Item<double> m_Variable3;
2520 NTuple::Item<double> m_Variable4;
2521 NTuple::Item<double> m_Variable5;
2522 NTuple::Item<long> m_Variable6;
2523 NTuple::Item<long> m_Variable7;
2524 m_tuple4->item(strVarName[0],m_Variable0);
2525 m_tuple4->item(strVarName[1],m_Variable1);
2526 m_tuple4->item(strVarName[2],m_Variable2);
2527 m_tuple4->item(strVarName[3],m_Variable3);
2528 m_tuple4->item(strVarName[4],m_Variable4);
2529 m_tuple4->item(strVarName[5],m_Variable5);
2530 m_tuple4->item(strVarName[6],m_Variable6);
2531 m_tuple4->item(strVarName[7],m_Variable7);
2532 m_Variable6 = track->
trackId();
2534 for (
int i=0;i!=7;i++)
2536 m_Variable0[i] = 999.9;
2537 m_Variable1[i] = 999.9;
2538 m_Variable2[i] = 999.9;
2540 m_Variable3 = 999.9;
2541 m_Variable4 = 999.9;
2542 m_Variable5 = 999.9;
2544 SmartRefVector<RecTofTrack> tofTrkCol = track->
tofTrack();
2545 SmartRefVector<RecTofTrack>::iterator iter_tof = tofTrkCol.begin();
2546 for(;iter_tof != tofTrkCol.end(); iter_tof++ ) {
2548 status->
setStatus((*iter_tof)->status());
2551 if( status->
layer()!=1 )
continue;
2552 m_Variable3 = (*iter_tof)->tof() - (*iter_tof)->texp(1);
2553 m_Variable4 = (*iter_tof)->tof() - (*iter_tof)->texp(2);
2554 m_Variable5 = (*iter_tof)->tof() - (*iter_tof)->texp(3);
2555 m_Variable7 = (status->
is_east() + 1);
2565 m_Variable0[numtag] = (*iter_tof)->tof() - (*iter_tof)->texp(1);
2566 m_Variable1[numtag] = (*iter_tof)->tof() - (*iter_tof)->texp(2);
2567 m_Variable2[numtag] = (*iter_tof)->tof() - (*iter_tof)->texp(3);
2572int DQADtag::fillTrackDedxItem(
EvtRecTrack* track,
string str,
int type)
2574 string strVarName[7];
2575 for (
int i=0;i!=7;i++ )
2577 strVarName[i] = str +
"_" + m_TrackDedxItemName[i];
2580 NTuple::Item<double> m_Variable0;
2581 NTuple::Item<double> m_Variable1;
2582 NTuple::Item<double> m_Variable2;
2583 NTuple::Item<double> m_Variable3;
2584 NTuple::Item<double> m_Variable4;
2585 NTuple::Item<double> m_Variable5;
2586 NTuple::Item<long> m_Variable6;
2587 m_tuple4->item(strVarName[0],m_Variable0);
2588 m_tuple4->item(strVarName[1],m_Variable1);
2589 m_tuple4->item(strVarName[2],m_Variable2);
2590 m_tuple4->item(strVarName[3],m_Variable3);
2591 m_tuple4->item(strVarName[4],m_Variable4);
2592 m_tuple4->item(strVarName[5],m_Variable5);
2593 m_tuple4->item(strVarName[6],m_Variable6);
2594 m_Variable0 = 999.9;
2595 m_Variable1 = 999.9;
2598 m_Variable4 = 9999.9;
2599 m_Variable5 = 999.9;
2600 m_Variable6 = 999.9;
2603 m_Variable0 = dedxTrk->
chiK();
2604 m_Variable1 = dedxTrk->
chiPi();
2607 m_Variable4 = dedxTrk->
probPH();
2608 m_Variable5 = dedxTrk->
normPH();
2609 m_Variable6 = track->
trackId();
2614 cout<<
"* * * * * * * Begin DQADTag * * * * * * * *"<<endl;
2617 cout<<
"* * * * * * * End DQADTag * * * * * * * *"<<endl;
2618 MsgStream log(
msgSvc(), name());
2619 log << MSG::INFO <<
"in finalize()" << endmsg;
2620 return StatusCode::SUCCESS;
HepGeom::Point3D< double > HepPoint3D
void fill(NTuple::Array< double > &nt_p4, const HepLorentzVector &p4)
EvtRecTrackCol::iterator EvtRecTrackIterator
std::vector< HepLorentzVector > Vp4
double sin(const BesAngle a)
double cos(const BesAngle a)
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared cut
DQADtag(const std::string &name, ISvcLocator *pSvcLocator)
void setVtxPar(VertexParameter vtxpar)
double decayLengthRatio()
void setPrimaryVtxPar(VertexParameter privtxpar)
void setchilds(EvtRecTrack *track0, EvtRecTrack *track1)
void setchilds(EvtRecTrack *shower0, EvtRecTrack *shower1)
double secondMoment() const
const Hep3Vector emcPosition() const
const int emcVolumeNumber() const
const HepVector & helix() const
const double dz(void) const
const double dr(void) const
static void setPidType(PidType pidType)
const HepSymMatrix & err() const
const HepLorentzVector p4() const
const double fi0(void) const
const double theta() const
const HepVector helix() const
......
SmartRefVector< RecTofTrack > tofTrack()
RecEmcShower * emcShower()
RecMdcKalTrack * mdcKalTrack()
virtual bool isVertexValid()=0
virtual double * SigmaPrimaryVertex()=0
virtual double * PrimaryVertex()=0
static SecondVertexFit * instance()
unsigned int layer() const
void setStatus(unsigned int status)
static VertexFit * instance()
void setEvx(const HepSymMatrix &eVx)
void setVx(const HepPoint3D &vx)
_EXTERN_ std::string EvtRecEvent
_EXTERN_ std::string EvtRecDTagCol
_EXTERN_ std::string EvtRecTrackCol