BOSS 8.0.0
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 16 of file MakeGroupList.h.

◆ Const_GammaIterator

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

Definition at line 24 of file MakeGroupList.h.

◆ Const_Pi0Iterator

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

Definition at line 20 of file MakeGroupList.h.

◆ CriteriaIterator

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

Definition at line 15 of file MakeGroupList.h.

◆ CriteriaList

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

Definition at line 14 of file MakeGroupList.h.

◆ GammaIterator

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

Definition at line 23 of file MakeGroupList.h.

◆ GammaList

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

Definition at line 22 of file MakeGroupList.h.

◆ Pi0Iterator

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

Definition at line 19 of file MakeGroupList.h.

◆ Pi0List

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

Definition at line 18 of file MakeGroupList.h.

Function Documentation

◆ add_cut()

void Pi0::add_cut ( const Criteria & cri)

Definition at line 205 of file MakeGroupList.h.

205{ default_criteria_list.push_back( cri ); }
CriteriaList default_criteria_list

◆ apply_criteria()

Pi0List & Pi0::apply_criteria ( const Criteria & cri)

Definition at line 117 of file MakeGroupList.h.

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

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

◆ apply_criterias()

void Pi0::apply_criterias ( )

Definition at line 200 of file MakeGroupList.h.

200 {
201 for ( CriteriaIterator it = default_criteria_list.begin();
202 it != default_criteria_list.end(); ++it )
203 { apply_criteria( *it ); }
204 }
std::list< Criteria >::iterator CriteriaIterator
Pi0List & apply_criteria(const Criteria &cri)

◆ GetCandidatePi0List()

Pi0List & Pi0::GetCandidatePi0List ( )

Definition at line 34 of file MakeGroupList.h.

34{ return candidate_pi0_list; }

Referenced by Pi0RecAlg::execute().

◆ GetDefaultGammaList()

GammaList & Pi0::GetDefaultGammaList ( )

Definition at line 32 of file MakeGroupList.h.

32{ return default_gamma_list; }
GammaList default_gamma_list

Referenced by Pi0RecAlg::execute().

◆ GetFilterPi0List()

Pi0List & Pi0::GetFilterPi0List ( )

Definition at line 35 of file MakeGroupList.h.

35{ return filter_pi0_list; }

◆ make_gamma_list()

GammaList & Pi0::make_gamma_list ( UserPi0Cut & cut)

Definition at line 38 of file MakeGroupList.h.

38 {
41
42 default_gamma_list.clear();
43 // update_gamma_list.clear();
44 for ( int i1 = recEvt->totalCharged(); i1 < ( recEvt->totalTracks() ); ++i1 )
45 {
46
47 EvtRecTrack* gTrk = *( recTrkCol->begin() + i1 );
48 if ( cut.isGoodPhoton( gTrk ) )
49 {
50 default_gamma_list.push_back( gTrk );
51 // update_gamma_list.push_back(gTrk);
52 }
53 }
54 return default_gamma_list;
55 }
ObjectVector< EvtRecTrack > EvtRecTrackCol
*********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
Definition KarFin.h:27
static EvtRecEvent * recEvt
Definition Pi0Cut.h:95
static EvtRecTrackCol * recTrkCol
Definition Pi0Cut.h:96

Referenced by Pi0RecAlg::execute().

◆ make_pi0_list()

Pi0List & Pi0::make_pi0_list ( const GammaList & gamma_list)

Definition at line 75 of file MakeGroupList.h.

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

Referenced by Pi0RecAlg::execute().

◆ Pi0ListToTDS()

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

Definition at line 130 of file MakeGroupList.h.

130 {
131 assert( recPi0Col );
132 static double xmpi0 = 0.1349766;
134
135 for ( Const_Pi0Iterator it = pi0list.begin(); it != pi0list.end(); ++it )
136 {
137 EvtRecTrack* g1Trk = ( *it ).First;
138 EvtRecTrack* g2Trk = ( *it ).Second;
139 RecEmcShower* g1Shower = g1Trk->emcShower();
140 RecEmcShower* g2Shower = g2Trk->emcShower();
141
142 kmfit->init();
143 kmfit->AddTrack( 0, 0.0, g1Shower );
144 kmfit->AddTrack( 1, 0.0, g2Shower );
145 kmfit->AddResonance( 0, xmpi0, 0, 1 );
146 kmfit->Fit( 0 );
147
148 HepLorentzVector g1P4 = getP4( g1Shower );
149 HepLorentzVector g2P4 = getP4( g2Shower );
150 HepLorentzVector p2g = g1P4 + g2P4;
151 EvtRecPi0* recPi0 = new EvtRecPi0();
152
153 recPi0->setUnconMass( p2g.restMass() );
154 recPi0->setChisq( kmfit->chisq( 0 ) );
155 if ( g1P4.e() >= g2P4.e() )
156 {
157 recPi0->setHiPfit( kmfit->pfit( 0 ) );
158 recPi0->setLoPfit( kmfit->pfit( 1 ) );
159 recPi0->setHiEnGamma( g1Trk );
160 recPi0->setLoEnGamma( g2Trk );
161 }
162 else
163 {
164 recPi0->setHiPfit( kmfit->pfit( 1 ) );
165 recPi0->setLoPfit( kmfit->pfit( 0 ) );
166 recPi0->setHiEnGamma( g2Trk );
167 recPi0->setLoEnGamma( g1Trk );
168 }
169
170 recPi0Col->push_back( recPi0 );
171 }
172 }
***************************************************************************************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 setLoPfit(const HepLorentzVector &loPfit)
void setLoEnGamma(const EvtRecTrack *trk)
void setHiPfit(const HepLorentzVector &hiPfit)
void setUnconMass(const double unconMass)
void setHiEnGamma(const EvtRecTrack *trk)
static KinematicFit * instance()
void AddResonance(int number, double mres, std::vector< int > tlis)
void AddTrack(const int number, const double mass, const RecMdcTrack *trk)
Definition TrackPool.cxx:21
std::list< GammaPair >::const_iterator Const_Pi0Iterator

Referenced by Pi0RecAlg::execute().

◆ print_gamma_list()

void Pi0::print_gamma_list ( const GammaList & list)

Definition at line 63 of file MakeGroupList.h.

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

◆ print_pi0_list()

void Pi0::print_pi0_list ( const Pi0List & list)

Definition at line 108 of file MakeGroupList.h.

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

◆ 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 27 of file MakeGroupList.h.

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

◆ default_criteria_list

CriteriaList Pi0::default_criteria_list

Definition at line 26 of file MakeGroupList.h.

Referenced by add_cut(), and apply_criterias().

◆ default_gamma_list

GammaList Pi0::default_gamma_list

Definition at line 29 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 28 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)