BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
Pi0 Namespace Reference

Typedefs

typedef std::list< CriteriaCriteriaList
 
typedef std::list< Criteria >::iterator CriteriaIterator
 
typedef std::list< Criteria >::const_iterator Const_CriteriaIteator
 
typedef std::list< GammaPairPi0List
 
typedef std::list< GammaPair >::iterator Pi0Iterator
 
typedef std::list< GammaPair >::const_iterator Const_Pi0Iterator
 
typedef std::list< EvtRecTrack * > GammaList
 
typedef std::list< EvtRecTrack * >::iterator GammaIterator
 
typedef std::list< EvtRecTrack * >::const_iterator Const_GammaIterator
 

Functions

GammaListGetDefaultGammaList ()
 
Pi0ListGetCandidatePi0List ()
 
Pi0ListGetFilterPi0List ()
 
GammaListmake_gamma_list (UserPi0Cut &cut)
 
void print_gamma_list (const GammaList &list)
 
Pi0Listmake_pi0_list (const GammaList &gamma_list)
 
void print_pi0_list (const Pi0List &list)
 
Pi0Listapply_criteria (const Criteria &cri)
 
void Pi0ListToTDS (const Pi0List &pi0list, EvtRecPi0Col *recPi0Col)
 
void apply_criterias ()
 
void add_cut (const Criteria &cri)
 
UserPi0Cut VeryLoosePi0Cut (0.02, 0.02, 20, 25, 0.1, 0.18, 1e+10)
 

Variables

CriteriaList default_criteria_list
 
Pi0List candidate_pi0_list
 
Pi0List filter_pi0_list
 
GammaList default_gamma_list
 
UserPi0Cut VeryLoosePi0Cut
 
UserPi0Cut DefaultPi0Cut
 

Typedef Documentation

◆ Const_CriteriaIteator

typedef std::list<Criteria>::const_iterator Pi0::Const_CriteriaIteator

Definition at line 17 of file MakeGroupList.h.

◆ Const_GammaIterator

typedef std::list<EvtRecTrack*>::const_iterator Pi0::Const_GammaIterator

Definition at line 25 of file MakeGroupList.h.

◆ Const_Pi0Iterator

typedef std::list<GammaPair>::const_iterator Pi0::Const_Pi0Iterator

Definition at line 21 of file MakeGroupList.h.

◆ CriteriaIterator

typedef std::list<Criteria>::iterator Pi0::CriteriaIterator

Definition at line 16 of file MakeGroupList.h.

◆ CriteriaList

typedef std::list<Criteria> Pi0::CriteriaList

Definition at line 15 of file MakeGroupList.h.

◆ GammaIterator

typedef std::list<EvtRecTrack*>::iterator Pi0::GammaIterator

Definition at line 24 of file MakeGroupList.h.

◆ GammaList

typedef std::list<EvtRecTrack*> Pi0::GammaList

Definition at line 23 of file MakeGroupList.h.

◆ Pi0Iterator

typedef std::list<GammaPair>::iterator Pi0::Pi0Iterator

Definition at line 20 of file MakeGroupList.h.

◆ Pi0List

typedef std::list<GammaPair> Pi0::Pi0List

Definition at line 19 of file MakeGroupList.h.

Function Documentation

◆ add_cut()

void Pi0::add_cut ( const Criteria cri)

Definition at line 209 of file MakeGroupList.h.

210 {
211 default_criteria_list.push_back(cri);
212 }
CriteriaList default_criteria_list
Definition: MakeGroupList.h:27

◆ apply_criteria()

Pi0List & Pi0::apply_criteria ( const Criteria cri)

Definition at line 118 of file MakeGroupList.h.

119 {
120 Pi0Iterator it = candidate_pi0_list.begin();
121 for(; it!=candidate_pi0_list.end();)
122 {
123 if( cri.check(*it))
124 ++it;
125 else{
126 filter_pi0_list.push_back(*it);
127 it = candidate_pi0_list.erase(it);
128 }
129
130 }
131 return candidate_pi0_list;
132 }
std::list< GammaPair >::iterator Pi0Iterator
Definition: MakeGroupList.h:20
Pi0List candidate_pi0_list
Definition: MakeGroupList.h:28
Pi0List filter_pi0_list
Definition: MakeGroupList.h:29
virtual bool check(const GammaPair &gp) const
Definition: Criteria.h:57

Referenced by apply_criterias(), and Pi0RecAlg::execute().

◆ apply_criterias()

void Pi0::apply_criterias ( )

Definition at line 202 of file MakeGroupList.h.

203 {
204 for(CriteriaIterator it = default_criteria_list.begin(); it != default_criteria_list.end(); ++it)
205 {
206 apply_criteria(*it);
207 }
208 }
std::list< Criteria >::iterator CriteriaIterator
Definition: MakeGroupList.h:16
Pi0List & apply_criteria(const Criteria &cri)

◆ GetCandidatePi0List()

Pi0List & Pi0::GetCandidatePi0List ( )

Definition at line 35 of file MakeGroupList.h.

35{ return candidate_pi0_list;}

Referenced by Pi0RecAlg::execute().

◆ GetDefaultGammaList()

GammaList & Pi0::GetDefaultGammaList ( )

Definition at line 33 of file MakeGroupList.h.

33{ return default_gamma_list;}
GammaList default_gamma_list
Definition: MakeGroupList.h:30

Referenced by Pi0RecAlg::execute().

◆ GetFilterPi0List()

Pi0List & Pi0::GetFilterPi0List ( )

Definition at line 36 of file MakeGroupList.h.

36{ return filter_pi0_list;}

◆ make_gamma_list()

GammaList & Pi0::make_gamma_list ( UserPi0Cut cut)

Definition at line 39 of file MakeGroupList.h.

40 {
43
44 default_gamma_list.clear();
45// update_gamma_list.clear();
46 for(int i1 = recEvt->totalCharged(); i1 < (recEvt->totalTracks()); ++i1)
47 {
48
49 EvtRecTrack* gTrk = *(recTrkCol->begin() + i1);
50 if(cut.isGoodPhoton(gTrk))
51 {
52 default_gamma_list.push_back(gTrk);
53// update_gamma_list.push_back(gTrk);
54 }
55 }
56 return default_gamma_list;
57 }
ObjectVector< EvtRecTrack > EvtRecTrackCol
Definition: EvtRecTrack.h:109
int totalTracks() const
Definition: EvtRecEvent.h:21
int totalCharged() const
Definition: EvtRecEvent.h:24
static EvtRecEvent * recEvt
Definition: Pi0Cut.h:91
static EvtRecTrackCol * recTrkCol
Definition: Pi0Cut.h:92

Referenced by Pi0RecAlg::execute().

◆ make_pi0_list()

Pi0List & Pi0::make_pi0_list ( const GammaList gamma_list)

Definition at line 75 of file MakeGroupList.h.

76 {
77 candidate_pi0_list.clear();
78 Const_GammaIterator i_it = gamma_list.begin();
79 Const_GammaIterator i_it_end = gamma_list.end();
80 Const_GammaIterator j_it_end = gamma_list.end();
81
82 --i_it_end;
83
84 // KinematicFit * kmfit = KinematicFit::instance();
86 for(; i_it != i_it_end; ++i_it)
87 {
88 for( j_it = i_it, ++j_it ; j_it != j_it_end; ++j_it)
89 {
90
91 EvtRecTrack* g1Trk = *i_it;
92 EvtRecTrack* g2Trk = *j_it;
93
94 RecEmcShower* g1Shower = g1Trk->emcShower();
95 RecEmcShower* g2Shower = g2Trk->emcShower();
96 double inv_m = (getP4(g1Shower) + getP4(g2Shower)).m();
97
98 /* kmfit->init();
99 kmfit->AddTrack(0, 0.0, g1Shower);
100 kmfit->AddTrack(1, 0.0, g2Shower);
101 kmfit->AddResonance(0, 0.1349766, 0, 1);
102 kmfit->Fit(0);*/
103
104 candidate_pi0_list.push_back(GammaPair(*i_it, *j_it, inv_m));
105 }
106 }
107 return candidate_pi0_list;
108 }
HepLorentzVector getP4(RecEmcShower *gtrk)
Definition: MyUtil.cxx:16
RecEmcShower * emcShower()
Definition: EvtRecTrack.h:58
std::list< EvtRecTrack * >::const_iterator Const_GammaIterator
Definition: MakeGroupList.h:25

Referenced by Pi0RecAlg::execute().

◆ Pi0ListToTDS()

void Pi0::Pi0ListToTDS ( const Pi0List pi0list,
EvtRecPi0Col recPi0Col 
)

Definition at line 133 of file MakeGroupList.h.

134 {
135 assert(recPi0Col);
136 static double xmpi0= 0.1349766;
138
139 for(Const_Pi0Iterator it = pi0list.begin(); it != pi0list.end(); ++it)
140 {
141 EvtRecTrack* g1Trk = (*it).First;
142 EvtRecTrack* g2Trk = (*it).Second;
143 RecEmcShower* g1Shower = g1Trk->emcShower();
144 RecEmcShower* g2Shower = g2Trk->emcShower();
145
146 kmfit->init();
147 kmfit->AddTrack(0, 0.0, g1Shower);
148 kmfit->AddTrack(1, 0.0, g2Shower);
149 kmfit->AddResonance(0, xmpi0, 0, 1);
150 kmfit->Fit(0);
151
152 HepLorentzVector g1P4 = getP4(g1Shower);
153 HepLorentzVector g2P4 = getP4(g2Shower);
154 HepLorentzVector p2g = g1P4 + g2P4;
155 EvtRecPi0* recPi0 = new EvtRecPi0();
156
157 recPi0->setUnconMass(p2g.restMass());
158 recPi0->setChisq(kmfit->chisq(0));
159 if ( g1P4.e() >= g2P4.e() ) {
160 recPi0->setHiPfit(kmfit->pfit(0));
161 recPi0->setLoPfit(kmfit->pfit(1));
162 recPi0->setHiEnGamma(g1Trk);
163 recPi0->setLoEnGamma(g2Trk);
164 }
165 else {
166 recPi0->setHiPfit(kmfit->pfit(1));
167 recPi0->setLoPfit(kmfit->pfit(0));
168 recPi0->setHiEnGamma(g2Trk);
169 recPi0->setLoEnGamma(g1Trk);
170 }
171
172 recPi0Col->push_back(recPi0);
173 }
174 }
***************************************************************************************Pseudo Class RRes *****************************************************************************************Parameters and physical constants **Maarten sept ************************************************************************DOUBLE PRECISION xsmu **************************************************************************PARTICLE DATA all others are from PDG *Only resonances with known widths into electron pairs are sept ************************************************************************C Declarations xmb DOUBLE PRECISION xcb DOUBLE PRECISION xmpi0
Definition: RRes.h:32
void setChisq(const double chisq)
Definition: EvtRecPi0.h:35
void setLoPfit(const HepLorentzVector &loPfit)
Definition: EvtRecPi0.h:38
void setLoEnGamma(const EvtRecTrack *trk)
Definition: EvtRecPi0.h:41
void setHiPfit(const HepLorentzVector &hiPfit)
Definition: EvtRecPi0.h:37
void setUnconMass(const double unconMass)
Definition: EvtRecPi0.h:34
void setHiEnGamma(const EvtRecTrack *trk)
Definition: EvtRecPi0.h:40
static KinematicFit * instance()
void AddResonance(int number, double mres, std::vector< int > tlis)
double chisq() const
Definition: KinematicFit.h:150
HepLorentzVector pfit(int n) const
Definition: KinematicFit.h:154
void AddTrack(const int number, const double mass, const RecMdcTrack *trk)
Definition: TrackPool.cxx:22
std::list< GammaPair >::const_iterator Const_Pi0Iterator
Definition: MakeGroupList.h:21

Referenced by Pi0RecAlg::execute().

◆ print_gamma_list()

void Pi0::print_gamma_list ( const GammaList list)

Definition at line 64 of file MakeGroupList.h.

65 {
66 if(list.size() == 0) {std::cout<<"GammaList->()"<<std::endl; return;}
67 std::cout<<"GammaList->(";
68 for(Const_GammaIterator it = list.begin(); it!= list.end(); it++)
69 {
70 std::cout<<(*it)->trackId()<<", ";
71 }
72 std::cout<<')'<<std::endl;
73 }

◆ print_pi0_list()

void Pi0::print_pi0_list ( const Pi0List list)

Definition at line 109 of file MakeGroupList.h.

110 {
111 std::cout<<"OK Pi0List->{";
112 for(Const_Pi0Iterator it = list.begin(); it!= list.end(); it++)
113 {
114 std::cout<<"("<<(*it).inv_m<<","<<(*it).First->trackId()<<","<<(*it).Second->trackId()<<"), ";
115 }
116 std::cout<<'}'<<std::endl;
117 }

◆ VeryLoosePi0Cut()

UserPi0Cut Pi0::VeryLoosePi0Cut ( 0.  02,
0.  02,
20  ,
25  ,
0.  1,
0.  18,
1e+  10 
)

Variable Documentation

◆ candidate_pi0_list

Pi0List Pi0::candidate_pi0_list

Definition at line 28 of file MakeGroupList.h.

Referenced by apply_criteria(), GetCandidatePi0List(), and make_pi0_list().

◆ default_criteria_list

CriteriaList Pi0::default_criteria_list

Definition at line 27 of file MakeGroupList.h.

Referenced by add_cut(), and apply_criterias().

◆ default_gamma_list

GammaList Pi0::default_gamma_list

Definition at line 30 of file MakeGroupList.h.

Referenced by GetDefaultGammaList(), and make_gamma_list().

◆ DefaultPi0Cut

UserPi0Cut Pi0::DefaultPi0Cut

Definition at line 8 of file Pi0Cut.cxx.

◆ filter_pi0_list

Pi0List Pi0::filter_pi0_list

Definition at line 29 of file MakeGroupList.h.

Referenced by apply_criteria(), and GetFilterPi0List().

◆ VeryLoosePi0Cut

UserPi0Cut Pi0::VeryLoosePi0Cut(0.02, 0.02, 20, 25, 0.1, 0.18, 1e+10)