14 #include "TDatabasePDG.h"
29 TNamed ( name,name ),fTypePlus ( 0 ),fTypeMinus ( 0 ),fCriterion (
loose )
36 TDatabasePDG* pdg = TDatabasePDG::Instance();
39 if ( sType.Index (
"+" ) >0 || sType==
"p+" || sType==
"proton" ) {
43 }
else if ( sType.Index (
"-" ) >0 || sType==
"anti-p-" || sType==
"antiproton" ) {
68 }
else if ( crit==
"veryloose" ) {
70 }
else if ( crit==
"loose" ) {
72 }
else if ( crit==
"tight" ) {
74 }
else if ( crit==
"verytight" ) {
76 }
else if ( crit==
"variable" ) {
78 }
else if ( crit==
"all" ) {
81 cerr << GetName() <<
": Unknown criterion " << crit.Data() << endl;
105 for ( Int_t
i=0;
i<
n;
i++ ) {
132 TDatabasePDG* pdt = TDatabasePDG::Instance();
133 Int_t theCode = thePart->PdgCode();
137 if ( name.Index (
"-" ) >0 || name.Index (
"+" ) >0 || abs ( theCode ) ==2212 ) { theCode = -theCode; }
139 return pdt->GetParticle ( theCode );
145 if ( b == 0 ) {
return; }
Double_t GetCharge() const
void Select(RhoCandList &l)
criterion fCriterion
Particle type to accept.
virtual Bool_t Accept(RhoCandidate *)=0
TParticlePDG * fTypeMinus
Particle type to accept.
TParticlePDG * CPConjugate(TParticlePDG *aPart)
void SetType(const TParticlePDG *pdt)
RhoParticleSelectorBase(const char *name="VAbsPidSelector", const char *type=0)
virtual ~RhoParticleSelectorBase()
void Select(RhoParticleSelectorBase *pidmgr)
void SetMass(Double_t mass)
void SetTypeAndMass(RhoCandidate *b)
virtual void SetCriterion(const char *crit)
void Put(const RhoCandidate *, Int_t i=-1)