11 #include "TLorentzVector.h"
15 #include "EVENT/Cluster.h"
34 bool operator() (T x)
const {
40 template <
class T> vector<const T*>*
constVector(vector<T*>* ptr) {
41 return reinterpret_cast<vector<const T*> *
>(ptr);
43 template <
class T> vector<const T*>&
constVector(vector<T*>& ref) {
44 return *
reinterpret_cast<vector<const T*> *
>(&ref);
46 template <
class T>
const vector<const T*>*
constVector(
const vector<T*>* ptr) {
47 return reinterpret_cast<const vector<const T*> *
>(ptr);
49 template <
class T>
const vector<const T*>&
constVector(
const vector<T*>& ref) {
50 return *
reinterpret_cast<const vector<const T*> *
>(&ref);
75 typedef const vector<const Track*>
TrackVec;
80 typedef const vector<const Jet*>
JetVec;
88 typedef vector<const Jet*>::const_iterator
JetVecIte;
98 virtual const char*
what()
const throw() {
99 return _message.c_str();
102 cerr <<
"lcfiplus_Exception: " << _message << endl;
121 _beamSizeX = beamSizeX;
127 _beamSizeY = beamSizeY;
133 _beamSizeZ = beamSizeZ;
166 , _allowstring(ref._allowstring)
173 template<
typename T>
void fetch(
const char* key, T& ret, T def = T())
const {
174 if (_map.find(key) == _map.end()) {
175 cout <<
"Parameter " << key <<
" not found." << endl;
177 }
else if (_map.find(key)->second.first == &
typeid(T))ret = *(T*)(_map.find(key)->second.second);
178 else if (_allowstring && _map.find(key)->second.first == &
typeid(string)) {
179 istringstream str(*(
string*)_map.find(key)->second.second);
181 }
else if (_allowstring && _map.find(key)->second.first == &
typeid(vector<string>)) {
182 istringstream str((*(
const vector<string>*)_map.find(key)->second.second)[0]);
185 cout <<
"Parameter type invalid: key = " << key <<
", type = " << _map.find(key)->second.first->name() <<
" vs " <<
typeid(T).name() << endl;
186 throw (
Exception(
"Parameter type invalid."));
192 template<
typename T>
void fetchArray(
const char* key, vector<T>& ret)
const {
193 if (_map.find(key) == _map.end()) {
194 cout <<
"Parameter " << key <<
" not found." << endl;
195 }
else if (_map.find(key)->second.first == &
typeid(vector<T>))ret = *(vector<T>*)(_map.find(key)->second.second);
196 else if (_map.find(key)->second.first == &
typeid(T))ret.push_back(*(T*)(_map.find(key)->second.second));
197 else if (_allowstring && _map.find(key)->second.first == &
typeid(string)) {
200 istringstream str(*(
string*)_map.find(key)->second.second);
202 }
else if (_allowstring && _map.find(key)->second.first == &
typeid(vector<string>)) {
203 const vector<string>* svec = (
const vector<string>*)_map.find(key)->second.second;
204 ret.resize(svec->size());
205 for (
unsigned int n=0; n<svec->size(); n++) {
206 istringstream str((*svec)[n]);
210 cout <<
"Parameter type invalid: key = " << key <<
", type = " << _map.find(key)->second.first->name() <<
" vs " <<
typeid(T).name() << endl;
211 throw (
Exception(
"Parameter type invalid."));
217 template<
typename T> T
get(
const char* key, T def = T())
const {
219 fetch(key, ret, def);
223 template<
typename T> std::vector<T>
getVec(
const char* key)
const {
225 fetchArray(key, ret);
230 return _map.find(key) != _map.end();
233 template<
typename T>
void add(
const char* key, T data) {
234 if (_map.find(key) != _map.end())
throw(
Exception(
"Double entry."));
236 _map[key] = pair<const type_info*, void*>(&
typeid(T),
new T(data));
239 void remove(
const char* key) {
244 template<
typename T>
void assign(
const char* key, T data) {
245 if (_map.find(key) == _map.end())
throw(
Exception(
"Parameters::assign(): the key has not been registered."));
246 else if (_map.find(key)->second.first != &
typeid(T))
throw(
Exception(
"Parameters::assign(): the value type is imcompatible."));
249 *
static_cast<T*
>(_map.find(key)->second.second) = data;
253 const map<string, pair<const type_info*, void*> >&
paramMap()
const {
258 void remove(
const string& key,
bool delmap);
260 template<
typename T>
void deleteData(
const string& key) {
261 T* p =
static_cast<T*
>(_map[key].second);
265 map<string, pair<const type_info*, void*> > _map;
278 virtual void process() = 0;
296 static Event* Instance();
300 const vector<const Track*>& getTracks(
const char* trackname = 0)
const;
301 const vector<const Neutral*>& getNeutrals(
const char* neutralname = 0)
const;
302 const vector<const MCParticle*>& getMCParticles(
const char* mcpname = 0)
const;
303 const vector<const MCColorSinglet*>& getMCColorSinglets(
const char* mcpname = 0)
const;
304 const Vertex* getPrimaryVertex(
const char* privtxname = 0)
const;
305 const vector<const Vertex*>& getSecondaryVertices(
const char* secvtxname = 0)
const;
306 const vector<const Jet*>& getJets(
const char* jetname = 0)
const;
310 _defTrackName = name;
313 _defNeutralName = name;
319 _defPriVtxName = name;
322 _defSecVtxName = name;
329 return _defTrackName.c_str();
332 return _defNeutralName.c_str();
335 return _defMcpName.c_str();
338 return _defPriVtxName.c_str();
341 return _defSecVtxName.c_str();
344 return _defJetName.c_str();
348 const MCParticle* getMCParticle(
int id)
const;
351 vector<const MCParticle*> mcGetColorStrings()
const;
352 int mcNumberOfB()
const;
353 int mcNumberOfC()
const;
354 vector<const MCParticle*> mcGetSemiStableBs()
const;
355 vector<const MCParticle*> mcGetSemiStableCs()
const;
356 vector<const MCParticle*> mcGetSemiStableBCs(
bool separatebc)
const;
364 static Event* _theInstance;
375 string _defTrackName;
376 string _defNeutralName;
378 string _defPriVtxName;
379 string _defSecVtxName;
384 class Track :
public TLorentzVector {
434 void setHelix(
double d0,
double z0,
double phi,
double omega,
double tanLambda) {
442 memcpy(_par, par,
sizeof(_par));
448 void setCovMatrix(
double*
cov);
469 memcpy(_nhits, hits,
sizeof(_nhits));
476 memcpy(_calo, calo,
sizeof(_calo));
508 _pidProbability[parName] = pidProbability;
512 string partName = parName;
514 if (_pidProbability.find(partName) != _pidProbability.end()){
515 prob = _pidProbability.at(partName);
522 _correnergy = sqrt(this->P()*this->P() + mass * mass);
530 double tmpe = this->E();
531 this->SetE(_correnergy);
556 return TVector3(getX(), getY(), getZ());
558 TVector3 momentumAtVertex(
const Vertex* vtx )
const;
580 map<string, double> _pidProbability;
584 double _bness, _cness;
593 Neutral() : _id(0), _pdg(0), _isV0(false), _mcp(0), _clstr() {}
620 memcpy(_calo, calo,
sizeof(_calo));
641 EVENT::ClusterVec _clstr;
652 Init(
id, pdg, parent, charge, p, v);
658 void Init(
int id,
int pdg,
MCParticle* parent,
double charge,
const TLorentzVector& p,
const TVector3& v);
688 const TVector3& getEndVertex()
const;
706 int getFlavor()
const;
709 const MCColorSinglet* getColorSinglet(
const vector<const MCColorSinglet*>* pcs)
const;
711 bool isStableTrack()
const;
712 bool isStable()
const;
713 bool isSemiStableB()
const;
714 bool isSemiStableC()
const;
715 bool isSemiStableS()
const;
716 bool isSemiStable()
const;
718 int getFlavorTagCategory()
const;
719 const MCParticle* getSemiStableParent()
const;
720 const MCParticle* getSemiStableBParent()
const;
721 const MCParticle* getSemiStableCParent()
const;
724 double decayDistance()
const;
730 vector<const lcfiplus::MCParticle*> promptTracks()
const;
735 double getPhi()
const;
736 double getOmega()
const;
737 double getTanLambda()
const;
747 vector<const lcfiplus::MCParticle*> _dau;
775 enum vtx { xx=0, xy, yy, xz, yz, zz };
777 Vertex() : _id(-1), _chi2(0), _prob(0), _x(0), _y(0), _z(0), _isPrimary(false), _tracks(), _chi2Tracks(), _vertexingname(), _rvtxmom(), _pi0mom(), _rvtxmass(-1), _npi0(-1) {}
778 Vertex(
const double chi2,
const double prob,
const double x,
const double y,
const double z,
const double cov[6],
bool isPrim)
779 : _id(-1), _chi2(chi2), _prob(prob), _x(x), _y(y), _z(z), _isPrimary(isPrim), _tracks(), _chi2Tracks(), _vertexingname(), _rvtxmom(), _pi0mom(), _rvtxmass(-1), _npi0(-1) {
781 memset(_cov,0,
sizeof(_cov));
783 memcpy(_cov, cov,
sizeof(_cov));
788 Vertex(
const Vertex& from) : _id(-1), _chi2(from._chi2), _prob(from._prob), _x(from._x), _y(from._y), _z(from._z), _isPrimary(from._isPrimary), _tracks(from._tracks), _chi2Tracks(from._chi2Tracks), _vertexingname(from._vertexingname), _rvtxmom(from._rvtxmom), _pi0mom(from._pi0mom), _rvtxmass(from._rvtxmass), _npi0(from._npi0) {
789 memcpy(_cov, from._cov,
sizeof(_cov));
793 void add(
const Track* trk);
794 void add(
const Track* trk,
double chi2);
818 return TVector3(_x, _y,_z);
830 map<const Track*,double>::const_iterator it = _chi2Tracks.find(tr);
831 if (it != _chi2Tracks.end())
return it->second;
834 const Track* getWorstTrack()
const;
835 double getChi2TrackFit(
const Track* tr,
int mode=1)
const;
837 double length(
const Vertex* primary=0)
const;
838 double significance(
const Vertex* primary)
const;
847 double getPparallel(
const TVector3& axis)
const;
848 double getVertexMass(
const Vertex* daughter = 0,
const TVector3* paxis = 0,
const double dmass = 1.87,
double* ppt = 0,
double* pp = 0)
const;
849 double getVertexAngle(
const Vertex* daughter,
const Vertex* primary = 0)
const;
853 double dirdot(
const Vertex* primary=0)
const;
854 bool passesV0selection(
const Vertex* primary=0)
const;
855 TLorentzVector getFourMomentum()
const;
877 bool covIsGood()
const;
891 vector<const lcfiplus::Track*> _tracks;
892 map<const Track*, double> _chi2Tracks;
896 string _vertexingname;
899 TLorentzVector _rvtxmom;
900 TLorentzVector _pi0mom;
917 _dauVec.push_back(mcp);
920 _recoTrks.push_back(trk);
945 vector<const MCParticle*> _dauVec;
947 vector<const Track*> _recoTrks;
968 double operator()(
double* flt)
const;
980 class Jet :
public TLorentzVector {
989 Jet(
const Jet& from,
bool extractVertex =
false);
1010 vector<const Vertex*> getVerticesForFT()
const;
1015 vector<const Track*> getAllTracks(
bool withoutV0=
false)
const;
1018 void add(
const Jet& jet);
1020 _tracks.push_back(trk);
1021 *(TLorentzVector*)
this += *(TLorentzVector*)trk;
1024 _neutrals.push_back(neut);
1025 *(TLorentzVector*)
this += *(TLorentzVector*)neut;
1028 _vertices.push_back(vtx);
1029 for (
unsigned int i=0; i<vtx->
getTracks().size(); i++) {
1030 *(TLorentzVector*)
this += *(TLorentzVector*)(vtx->
getTracks()[i]);
1033 vector<const Track*>::iterator it;
1034 if ((it = find(_tracks.begin(), _tracks.end(), vtx->
getTracks()[i])) != _tracks.end()) {
1035 *(TLorentzVector*)
this -= *(TLorentzVector*)(*it);
1044 return (a->E() > b->E());
1047 double sphericity()
const;
1052 if (_params.count(paramname) == 1)
throw(
Exception(
"Jet::addParam: parameter of the specified name has been already registered."));
1053 _params[paramname] = param;
1057 if (_params.count(paramname) == 0)
throw(
Exception(
"Jet::getParam: parameter of the specified name is not registered."));
1058 return &(_params.find(paramname)->second);
1061 const map<string, Parameters>&
params()
const {
1067 vector<const Track*> tr = getAllTracks();
1068 for (
unsigned int i=0; i<tr.size(); i++)
1070 for (
unsigned int i=0; i<_neutrals.size(); i++)
1071 v += (*_neutrals[i]);
1073 *(TLorentzVector*)
this = v;
1077 vector<const Track*> _tracks;
1078 vector<const Neutral*> _neutrals;
1079 vector<const Vertex*> _vertices;
1081 mutable map<string, Parameters> _params;
double getProb() const
Definition: lcfiplus.h:805
void addParam(const char *paramname, Parameters ¶m) const
Definition: lcfiplus.h:1051
void setDefaultMCParticles(const char *name)
Definition: lcfiplus.h:315
void setBeamSizeY(double beamSizeY)
Definition: lcfiplus.h:126
Definition: lcfiplus.h:29
Definition: lcfiplus.h:25
double getRadiusOfInnermostHit() const
Definition: lcfiplus.h:479
vector< const Track * >::const_iterator TrackVecIte
Definition: lcfiplus.h:83
void assign(const char *key, T data)
Definition: lcfiplus.h:244
Definition: lcfiplus.h:27
MCParticle()
Definition: lcfiplus.h:654
Definition: lcfiplus.h:907
const vector< const Track * > & getTracks() const
Definition: lcfiplus.h:999
const MCParticle * _mcp
Definition: lcfiplus.h:760
void add(const Neutral *neut)
Definition: lcfiplus.h:1023
double getZ0() const
Definition: lcfiplus.h:422
int getVtxHits() const
Definition: lcfiplus.h:450
void setId(int id) const
Definition: lcfiplus.h:992
void setRadiusOfInnermostHit(double rimh)
Definition: lcfiplus.h:482
vector< const Jet * >::const_iterator JetVecIte
Definition: lcfiplus.h:88
void setNPi0(int npi0)
Definition: lcfiplus.h:872
Definition: lcfiplus.h:25
int getTpcHits() const
Definition: lcfiplus.h:459
const vector< const Neutral * > NeutralVec
Definition: lcfiplus.h:76
Definition: lcfiplus.h:771
void setMcp(const lcfiplus::MCParticle *mcp)
Definition: lcfiplus.h:605
~Jet()
Definition: lcfiplus.h:990
int getId() const
Definition: lcfiplus.h:799
const vector< const MCParticle * > & getDaughters() const
Definition: lcfiplus.h:925
void fetch(const char *key, T &ret, T def=T()) const
Definition: lcfiplus.h:173
TLorentzVector getRecoveredFourMomentum() const
Definition: lcfiplus.h:864
int var
Definition: lcfiplus.h:56
Definition: lcfiplus.h:29
int getEtdHits() const
Definition: lcfiplus.h:465
void setFlightLength(double flt) const
Definition: lcfiplus.h:500
void add(const Track *trk)
Definition: lcfiplus.h:1019
void setDefaultTracks(const char *name)
Definition: lcfiplus.h:309
void setV0(bool v0=true)
Definition: lcfiplus.h:626
~Vertex()
Definition: lcfiplus.h:792
const vector< const T * > & constVector(const vector< T * > &ref)
Definition: lcfiplus.h:49
void setCNess(double cness)
Definition: lcfiplus.h:549
void fetchArray(const char *key, vector< T > &ret) const
Definition: lcfiplus.h:192
vector< const Vertex * >::const_iterator VertexVecIte
Definition: lcfiplus.h:87
void setBNess(double bness)
Definition: lcfiplus.h:536
EVENT::ClusterVec getClusters() const
Definition: lcfiplus.h:631
double pull
Definition: lcfiplus.h:61
Definition: lcfiplus.h:90
Jet()
Definition: lcfiplus.h:983
const MCParticle * getParent() const
Definition: lcfiplus.h:913
const double * getCovMatrix() const
Definition: lcfiplus.h:445
Definition: lcfiplus.h:27
Parameters * GetParam() const
Definition: lcfiplus.h:282
Definition: lcfiplus.h:384
Definition: lcfiplus.h:646
int getId() const
Definition: lcfiplus.h:661
~Neutral()
Definition: lcfiplus.h:594
void setPos(const TVector3 &pos)
Definition: lcfiplus.h:938
Definition: lcfiplus.h:953
Definition: lcfiplus.h:26
Parameters(const Parameters &ref)
Definition: lcfiplus.h:164
Definition: lcfiplus.h:26
double getZ() const
Definition: lcfiplus.h:814
Exception(const char *message)
Definition: lcfiplus.h:92
Definition: lcfiplus.h:27
Definition: lcfiplus.h:25
double getCharge() const
Definition: lcfiplus.h:412
~Track()
Definition: lcfiplus.h:389
void setRecoveredFourMomentum(TLorentzVector rvtxmom)
Definition: lcfiplus.h:870
void setPDG(int pdg)
Definition: lcfiplus.h:671
int getSetHits() const
Definition: lcfiplus.h:462
void setCharge(double charge)
Definition: lcfiplus.h:678
void Print()
Definition: lcfiplus.h:101
int getSitHits() const
Definition: lcfiplus.h:456
void add(const Track *trk)
Definition: lcfiplus.h:919
Definition: lcfiplus.h:26
double getPoca()
Definition: lcfiplus.h:964
Definition: lcfiplus.h:26
Vertex()
Definition: lcfiplus.h:777
const char * getDefaultPrimaryVertex() const
Definition: lcfiplus.h:337
vector< const Neutral * >::const_iterator NeutralVecIte
Definition: lcfiplus.h:84
void setHelix(double d0, double z0, double phi, double omega, double tanLambda)
Definition: lcfiplus.h:434
virtual const char * what() const
Definition: lcfiplus.h:98
const char * getDefaultSecondaryVertices() const
Definition: lcfiplus.h:340
const lcfiplus::MCParticle * getMcp() const
Definition: lcfiplus.h:602
Definition: lcfiplus.h:29
void setPrimary(bool isPrim)
Definition: lcfiplus.h:843
Definition: lcfiplus.h:29
void add(const MCParticle *mcp)
Definition: lcfiplus.h:916
void setHelix(double *par)
Definition: lcfiplus.h:441
const map< const lcfiplus::Track *, double > & getTracksChi2Map() const
Definition: lcfiplus.h:826
Vertex(const Vertex &from)
Definition: lcfiplus.h:788
MCVertex()
Definition: lcfiplus.h:909
TVector3 getPos() const
Definition: lcfiplus.h:817
Definition: lcfiplus.h:27
Definition: lcfiplus.h:26
void setPDG(int pdg)
Definition: lcfiplus.h:611
void add(const Vertex *vtx, bool removeTracks=true)
Definition: lcfiplus.h:1027
Definition: LcfiInterface.h:49
Definition: lcfiplus.h:269
void setClusters(EVENT::ClusterVec clu)
Definition: lcfiplus.h:630
void setId(int id) const
Definition: lcfiplus.h:795
Definition: lcfiplus.h:27
vector< const lcfiplus::MCParticle * > _finalcolorsinglets
Definition: lcfiplus.h:765
void setVertexingName(string vtxname)
Definition: lcfiplus.h:858
double cmax
Definition: lcfiplus.h:58
int getId() const
Definition: lcfiplus.h:995
bool isV0() const
Definition: lcfiplus.h:623
const char * getDefaultNeutrals() const
Definition: lcfiplus.h:331
void setMcp(const lcfiplus::MCParticle *mcp)
Definition: lcfiplus.h:401
Jet(const Vertex *vtx)
Definition: lcfiplus.h:986
Definition: lcfiplus.h:152
const map< string, pair< const type_info *, void * > > & paramMap() const
Definition: lcfiplus.h:253
vector< const lcfiplus::MCParticle * > _finalstrings
Definition: lcfiplus.h:763
double getBeamSizeX() const
Definition: lcfiplus.h:123
void setPi0sFourMomentum(TLorentzVector pi0mom)
Definition: lcfiplus.h:871
void recalcFourMomentum()
Definition: lcfiplus.h:1065
void setBeamSizeX(double beamSizeX)
Definition: lcfiplus.h:120
const vector< const MCParticle * > & getDaughters() const
Definition: lcfiplus.h:698
Definition: lcfiplus.h:33
const TVector3 & getPos() const
Definition: lcfiplus.h:935
Definition: lcfiplus.h:29
Definition: lcfiplus.h:27
const lcfiplus::MCParticle * getMcp() const
Definition: lcfiplus.h:398
Definition: lcfiplus.h:29
Definition: lcfiplus.h:26
virtual ~Algorithm()
Definition: lcfiplus.h:273
Vertex(const double chi2, const double prob, const double x, const double y, const double z, const double cov[6], bool isPrim)
Definition: lcfiplus.h:778
TLorentzVector getPi0sFourMomentum() const
Definition: lcfiplus.h:865
vector< const lcfiplus::MCParticle * > _initials
Definition: lcfiplus.h:762
Definition: lcfiplus.h:29
Definition: lcfiplus.h:30
double getD0() const
Definition: lcfiplus.h:419
std::vector< T > getVec(const char *key) const
Definition: lcfiplus.h:223
const map< string, Parameters > & params() const
Definition: lcfiplus.h:1061
double getTanLambda() const
Definition: lcfiplus.h:431
A simple named storage for event data.
Definition: EventStore.h:42
int getPDG() const
Definition: lcfiplus.h:405
const vector< const Neutral * > & getNeutrals() const
Definition: lcfiplus.h:1002
double getPhi() const
Definition: lcfiplus.h:425
double getChi2Track(const Track *tr) const
Definition: lcfiplus.h:829
Algorithm()
Definition: lcfiplus.h:271
void setNdf(int ndf)
Definition: lcfiplus.h:496
double cmin
Definition: lcfiplus.h:57
void setRecoVertex(const Vertex *vtx)
Definition: lcfiplus.h:922
void setCharge(double charge)
Definition: lcfiplus.h:415
void setRecoveredVertexMass(double rvtxmass)
Definition: lcfiplus.h:868
const double * getCaloEdep() const
Definition: lcfiplus.h:472
MCParticle(int id, int pdg, MCParticle *parent, double charge, const TLorentzVector &p, const TVector3 &v)
Definition: lcfiplus.h:651
~Parameters()
Definition: lcfiplus.h:160
void setRecoveredVertexMass()
Definition: lcfiplus.h:869
const vector< const Track * > & getRecoTracks() const
Definition: lcfiplus.h:928
int getPDG() const
Definition: lcfiplus.h:608
void setPDG(int pdg)
Definition: lcfiplus.h:408
void setParent(const MCParticle *parent)
Definition: lcfiplus.h:693
vector< const lcfiplus::MCParticle * > _realparticles
Definition: lcfiplus.h:766
Definition: lcfiplus.h:30
const double * getCaloEdep() const
Definition: lcfiplus.h:615
Definition: lcfiplus.h:754
Definition: lcfiplus.h:25
const vector< const Vertex * > & getVertices() const
Definition: lcfiplus.h:1005
void setId(int id)
Definition: lcfiplus.h:394
Definition: lcfiplus.h:30
double getRecoveredVertexMass() const
Definition: lcfiplus.h:863
double getCorrEnergy() const
Definition: lcfiplus.h:525
int getNPi0() const
Definition: lcfiplus.h:866
int getFtdHits() const
Definition: lcfiplus.h:453
const Parameters * getParam(const char *paramname) const
Definition: lcfiplus.h:1056
Definition: lcfiplus.h:980
vector< const lcfiplus::MCParticle * > _qqgluons
Definition: lcfiplus.h:764
double getFlightLength()
Definition: lcfiplus.h:961
void setCaloEdep(double *calo)
Definition: lcfiplus.h:619
double getBeamSizeY() const
Definition: lcfiplus.h:129
Parameters(bool as=true)
Definition: lcfiplus.h:154
calo
Definition: lcfiplus.h:30
const vector< const Jet * > JetVec
Definition: lcfiplus.h:80
int getPDG() const
Definition: lcfiplus.h:668
void setVertex(const TVector3 &v)
Definition: lcfiplus.h:685
const vector< const Track * > TrackVec
Definition: lcfiplus.h:72
void swapEnergy()
Definition: lcfiplus.h:529
const TVector3 & getVertex() const
Definition: lcfiplus.h:682
bool success()
Definition: lcfiplus.h:958
void setParent(const MCParticle *parent)
Definition: lcfiplus.h:910
Definition: lcfiplus.h:291
double getCNess() const
Definition: lcfiplus.h:544
double pullerr
Definition: lcfiplus.h:62
const char * getDefaultJets() const
Definition: lcfiplus.h:343
Definition: lcfiplus.h:55
vector< const MCParticle * >::const_iterator MCParticleVecIte
Definition: lcfiplus.h:85
Definition: lcfiplus.h:110
void setBField(double bField)
Definition: lcfiplus.h:114
virtual void end()
Definition: lcfiplus.h:279
int getNdf() const
Definition: lcfiplus.h:493
const char * getDefaultMCParticles() const
Definition: lcfiplus.h:334
void setParticleIDProbability(string parName, double pidProbability)
Definition: lcfiplus.h:507
virtual void init(Parameters *param)
Definition: lcfiplus.h:275
const char * getDefaultTracks() const
Definition: lcfiplus.h:328
vector< const MCColorSinglet * >::const_iterator MCColorSingletVecIte
Definition: lcfiplus.h:86
string getVertexingName() const
Definition: lcfiplus.h:859
double getChi2() const
Definition: lcfiplus.h:486
void setId(int id)
Definition: lcfiplus.h:599
void setDefaultPrimaryVertex(const char *name)
Definition: lcfiplus.h:318
void setDefaultNeutrals(const char *name)
Definition: lcfiplus.h:312
bool exist(const char *key) const
Definition: lcfiplus.h:229
cov
Definition: lcfiplus.h:26
double getFlightLength() const
Definition: lcfiplus.h:503
const double * getCov() const
Definition: lcfiplus.h:820
double getParticleIDProbability(const char *parName) const
Definition: lcfiplus.h:511
Neutral()
Definition: lcfiplus.h:593
double getCharge() const
Definition: lcfiplus.h:675
void setDefaultSecondaryVertices(const char *name)
Definition: lcfiplus.h:321
void setCorrEnergy(double mass)
Definition: lcfiplus.h:521
double getY() const
Definition: lcfiplus.h:811
virtual ~Exception()
Definition: lcfiplus.h:96
static int sort_by_energy(const Jet *a, const Jet *b)
Definition: lcfiplus.h:1043
void setTrackHits(int *hits)
Definition: lcfiplus.h:468
int getId() const
Definition: lcfiplus.h:596
vtx
Definition: lcfiplus.h:775
~MCParticle()
Definition: lcfiplus.h:655
double getOmega() const
Definition: lcfiplus.h:428
const vector< const MCParticle * > MCParticleVec
Definition: lcfiplus.h:77
Definition: lcfiplus.h:25
double getBField() const
Definition: lcfiplus.h:117
double getBeamSizeZ() const
Definition: lcfiplus.h:135
double pmin
Definition: lcfiplus.h:59
Definition: lcfiplus.h:589
Definition: lcfiplus.h:30
Definition: lcfiplus.h:30
Definition: lcfiplus.h:27
int getId() const
Definition: lcfiplus.h:391
void setChi2(double chi2)
Definition: lcfiplus.h:489
double getX() const
Definition: lcfiplus.h:808
const MCParticle * getMcp() const
Definition: lcfiplus.h:756
const vector< const Track * > & getTracks() const
Definition: lcfiplus.h:823
Definition: lcfiplus.h:27
Definition: lcfiplus.h:27
TVector3 getPos() const
Definition: lcfiplus.h:555
double pmax
Definition: lcfiplus.h:60
double getBNess() const
Definition: lcfiplus.h:540
Definition: lcfiplus.h:26
void add(const char *key, T data)
Definition: lcfiplus.h:233
hit
Definition: lcfiplus.h:29
Definition: lcfiplus.h:30
par
Definition: lcfiplus.h:25
const vector< const Vertex * > VertexVec
Definition: lcfiplus.h:79
const MCParticle * getParent() const
Definition: lcfiplus.h:690
Definition: lcfiplus.h:25
double getChi2() const
Definition: lcfiplus.h:802
Definition: lcfiplus.h:30
bool isPrimary() const
Definition: lcfiplus.h:840
void setDefaultJets(const char *name)
Definition: lcfiplus.h:324
const vector< const MCColorSinglet * > MCColorSingletVec
Definition: lcfiplus.h:78
const Vertex * getRecoVertex() const
Definition: lcfiplus.h:931
void setId(int id)
Definition: lcfiplus.h:664
void setBeamSizeZ(double beamSizeZ)
Definition: lcfiplus.h:132
void setCaloEdep(double *calo)
Definition: lcfiplus.h:475