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