2#ifndef CLASS_DTAGTOOL_H
3#define CLASS_DTAGTOOL_H
5#include "GaudiKernel/ObjectVector.h"
6#include "GaudiKernel/AlgFactory.h"
7#include "GaudiKernel/Algorithm.h"
8#include "GaudiKernel/NTuple.h"
9#include "GaudiKernel/IDataProviderSvc.h"
11#include "CLHEP/Vector/LorentzVector.h"
41 EvtRecDTagCol::iterator
modes_end(){
return m_iterend;}
42 EvtRecPi0Col::iterator
pi0_begin(){
return m_pi0iterbegin;}
43 EvtRecVeeVertexCol::iterator
ks_begin(){
return m_ksiterbegin;}
46 vector<int>
D0modes() {
return m_d0modes;}
47 vector<int>
Dpmodes() {
return m_dpmodes;}
48 vector<int>
Dsmodes() {
return m_dsmodes;}
51 vector<int>
mode(
int decaymode);
63 bool findDTag(
int mode1,
int mode2,
string smass=
"mbc");
64 bool findDTag(
int mode1,
int tagcharm1,
int mode2,
int tagcharm2,
string smass=
"mbc" );
66 bool findADTag(
int mode1,
int tagcharm1,
int mode2,
int tagcharm2);
70 EvtRecDTagCol::iterator
stag(){
return m_iterstag;}
71 EvtRecDTagCol::iterator
dtag1(){
return m_iterdtag1;}
72 EvtRecDTagCol::iterator
dtag2(){
return m_iterdtag2;}
73 vector<EvtRecDTagCol::iterator>
vdtag1(){
return m_viterdtag1;}
74 vector<EvtRecDTagCol::iterator>
vdtag2(){
return m_viterdtag2;}
81 HepLorentzVector
pi0p4(EvtRecPi0Col::iterator pi0Itr,
bool isconstrain=
true);
82 vector<int>
pi0Id(EvtRecDTagCol::iterator
iter,
int numpi0=1);
83 vector<int>
ksId(EvtRecDTagCol::iterator
iter,
int numks=1);
95 bool shareTracks(EvtRecDTagCol::iterator iter1, EvtRecDTagCol::iterator iter2);
99 void name(){ cout<<
" I am the dtag tool"<<endl;}
108 bool m_isdtaglistempty;
110 IDataProviderSvc* m_evtSvc;
115 EvtRecDTagCol::iterator m_iterbegin;
116 EvtRecDTagCol::iterator m_iterend;
117 EvtRecPi0Col::iterator m_pi0iterbegin;
118 EvtRecPi0Col::iterator m_pi0iterend;
119 EvtRecVeeVertexCol::iterator m_ksiterbegin;
120 EvtRecVeeVertexCol::iterator m_ksiterend;
125 EvtRecDTagCol::iterator m_iterstag;
126 EvtRecDTagCol::iterator m_iterdtag1;
127 EvtRecDTagCol::iterator m_iterdtag2;
128 vector<EvtRecDTagCol::iterator> m_viterdtag1;
129 vector<EvtRecDTagCol::iterator> m_viterdtag2;
132 vector<int> m_d0modes;
133 vector<int> m_dpmodes;
134 vector<int> m_dsmodes;
EvtRecTrackCol::iterator EvtRecTrackIterator