FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
PndFsmCombiDet Class Reference

#include <PndFsmCombiDet.h>

Inheritance diagram for PndFsmCombiDet:
PndFsmAbsDet

Public Member Functions

 PndFsmCombiDet ()
 
 PndFsmCombiDet (ArgList &par)
 
virtual ~PndFsmCombiDet ()
 
virtual PndFsmResponserespond (PndFsmTrack *t)
 
Bool_t AddDetector (std::string name, std::string params="")
 
Bool_t SubtractDetector (std::string name, std::string params="")
 
virtual void print (std::ostream &o)
 
const std::string & detName ()
 
void setName (std::string &name)
 
Bool_t doesPid () const
 
void setStorePid (Bool_t doespid=kTRUE)
 

Protected Member Functions

virtual bool setParameter (std::string &name, double value)
 
void parseParameterList (ArgList &par)
 

Protected Attributes

std::string _detName
 
double _efficiency
 
TRandom3 * _rand
 
TDatabasePDG * _fdbPDG
 
Bool_t _doesPid
 

Private Types

typedef std::list< PndFsmAbsDet * > FsmAbsDetList
 

Private Member Functions

Bool_t setParameter (std::string &name, std::string &value)
 
Bool_t setParameter (std::string &name, Double_t value)
 
void readParameters ()
 
void initParameters ()
 
Double_t eval (TSpline3 *spline, Double_t theta)
 

Private Attributes

FsmAbsDetList fDetList
 
FsmAbsDetList fSubtractDetList
 
PndFsmDetFactory fDetFact
 
TString _parFileName
 
TFile * fEffFile
 
Bool_t _parFile
 
Double_t _d0ResMulti
 
Double_t _z0ResMulti
 
Double_t _thtResMulti
 
Double_t _phiResMulti
 
Double_t _momResMulti
 
Double_t _pidLhMulti
 
std::map< Int_t, TSpline3 * > _d0
 
std::map< Int_t, TSpline3 * > _z0
 
std::map< Int_t, TSpline3 * > _tht
 
std::map< Int_t, TSpline3 * > _phi
 
std::map< Int_t, TSpline3 * > _mom
 
std::map< Int_t, TParameter
< Double_t > * > 
_mom0
 
TParameter< Double_t > * _tht0
 
TParameter< Double_t > * _tht1
 
std::map< Int_t, TF1 * > _d0Scale
 
std::map< Int_t, TF1 * > _z0Scale
 
std::map< Int_t, TF1 * > _thtScale
 
std::map< Int_t, TF1 * > _phiScale
 
std::map< Int_t, TF1 * > _momScale
 
TF3 * fPipPara
 
TF3 * fPimPara
 
TF3 * fKpPara
 
TF3 * fKmPara
 
TF3 * fProtPara
 
TF3 * fAntiProtPara
 
TF3 * fepPara
 
TF3 * femPara
 
TF3 * fmupPara
 
TF3 * fmumPara
 

Detailed Description

Definition at line 51 of file PndFsmCombiDet.h.

Member Typedef Documentation

typedef std::list<PndFsmAbsDet*> PndFsmCombiDet::FsmAbsDetList
private

Definition at line 73 of file PndFsmCombiDet.h.

Constructor & Destructor Documentation

PndFsmCombiDet::PndFsmCombiDet ( )

Definition at line 97 of file PndFsmCombiDet.cxx.

References initParameters(), and readParameters().

97  {
100 }
PndFsmCombiDet::PndFsmCombiDet ( ArgList par)

Definition at line 66 of file PndFsmCombiDet.cxx.

References _parFileName, AddDetector(), initParameters(), PndFsmAbsDet::parseParameterList(), and readParameters().

66  {
69  std::cout<<" -I- (PndFsmCombiDet::PndFsmCombiDet) - Using parameter file '"<<_parFileName<<"'"<<endl;
71 
72  // when PndFsmCombiDet has been created by the detector
73  // factory, some arbitrary detector set is added
74 
75  std::cout<<" -I- (PndFsmCombiDet::PndFsmCombiDet) - Creating arbitrary detector set"<<endl;
76 
77  //EM Calorimeters w/ default parameters
78  AddDetector("EmcBarrel");
79  AddDetector("EmcFwCap");
80  AddDetector("EmcBwCap");
81  AddDetector("EmcFS");
82 
83  //Tracking, Vertexing, dE/dx
84  AddDetector("Mvd2");
85  AddDetector("Stt");
86  AddDetector("MdcTS");
87  AddDetector("MdcFS");
88 //AddDetector("Tpc");
89 
90  //PID detectors
91  AddDetector("DrcBarrel");
92  AddDetector("DrcDisc");
93  AddDetector("Rich");
94  AddDetector("Tof");
95 }
Double_t par[3]
TString _parFileName
void parseParameterList(ArgList &par)
Bool_t AddDetector(std::string name, std::string params="")
PndFsmCombiDet::~PndFsmCombiDet ( )
virtual

Definition at line 106 of file PndFsmCombiDet.cxx.

106  {
107 }

Member Function Documentation

Bool_t PndFsmCombiDet::AddDetector ( std::string  name,
std::string  params = "" 
)

Definition at line 374 of file PndFsmCombiDet.cxx.

References PndFsmDetFactory::create(), fDetFact, and fDetList.

Referenced by PndFsmCombiDet().

374  {
375  PndFsmAbsDet *det=fDetFact.create(name,params);
376  if (det)
377  fDetList.push_back(det);
378  return det;
379 }
FsmAbsDetList fDetList
PndFsmAbsDet * create(std::string &name, ArgList &par)
TString name
PndFsmDetFactory fDetFact
const std::string& PndFsmAbsDet::detName ( )
inlineinherited
Bool_t PndFsmAbsDet::doesPid ( ) const
inlineinherited

Definition at line 76 of file PndFsmAbsDet.h.

References PndFsmAbsDet::_doesPid.

Referenced by PndFastSim::Register(), and PndFastSim::smearTrack().

76 {return _doesPid;};
Bool_t _doesPid
Definition: PndFsmAbsDet.h:96
Double_t PndFsmCombiDet::eval ( TSpline3 *  spline,
Double_t  theta 
)
private

Definition at line 584 of file PndFsmCombiDet.cxx.

References Double_t, xmax, and xmin.

Referenced by respond().

584  {
585  Double_t xmin=s->GetXmin();
586  Double_t xmax=s->GetXmax();
587  if (x<xmin)
588  return s->Eval(xmin)+(x-xmin)*s->Derivative(xmin);
589  else if (x>xmax)
590  return s->Eval(xmax)+(x-xmax)*s->Derivative(xmax);
591  else
592  return s->Eval(x);
593 }
TLorentzVector s
Definition: Pnd2DStar.C:50
Double_t xmax
Double_t
Double_t x
Double_t xmin
void PndFsmCombiDet::initParameters ( )
privatevirtual

Reimplemented from PndFsmAbsDet.

Definition at line 539 of file PndFsmCombiDet.cxx.

References _d0ResMulti, PndFsmAbsDet::_detName, _mom0, _momResMulti, _parFile, _parFileName, _phiResMulti, _pidLhMulti, _tht0, _tht1, _thtResMulti, _z0ResMulti, fAntiProtPara, fEffFile, femPara, fepPara, fKmPara, fKpPara, fmumPara, fmupPara, fPimPara, fPipPara, and fProtPara.

Referenced by PndFsmCombiDet().

539  {
540  _detName = "CmpDet";
541  _parFileName = "$VMCWORKDIR/fastsim/cmpdetparams.root";
542  fEffFile = new TFile("$VMCWORKDIR/fastsim/FsmCombiDetParas.root");
543 
544  fPipPara = (TF3*)fEffFile->Get("PipPara");
545  fPimPara = (TF3*)fEffFile->Get("PimPara");
546  fKpPara = (TF3*)fEffFile->Get("KpPara");
547  fKmPara = (TF3*)fEffFile->Get("KmPara");
548  fProtPara = (TF3*)fEffFile->Get("ProtPara");
549  fAntiProtPara = (TF3*)fEffFile->Get("AntiProtPara");
550  fepPara = (TF3*)fEffFile->Get("EpPara");
551  femPara = (TF3*)fEffFile->Get("EmPara");
552  fmupPara = (TF3*)fEffFile->Get("mupPara");
553  fmumPara = (TF3*)fEffFile->Get("mumPara");
554 
555  if(!fPipPara) Error("initParameters","could not find \"PipPara\" in file CmpDetParas.root");
556  if(!fPimPara) Error("initParameters","could not find \"PimPara\" in file CmpDetParas.root");
557  if(!fKpPara) Error("initParameters","could not find \"KpPara\" in file CmpDetParas.root");
558  if(!fKmPara) Error("initParameters","could not find \"KmPara\" in file CmpDetParas.root");
559  if(!fProtPara) Error("initParameters","could not find \"ProtPara\" in file CmpDetParas.root");
560  if(!fAntiProtPara) Error("initParameters","could not find \"AntiProtPara\" in file CmpDetParas.root");
561  if(!fepPara) Error("initParameters","could not find \"epPara\" in file CmpDetParas.root");
562  if(!femPara) Error("initParameters","could not find \"emPara\" in file CmpDetParas.root");
563  if(!fmupPara) Error("initParameters","could not find \"mupPara\" in file CmpDetParas.root");
564  if(!fmumPara) Error("initParameters","could not find \"mumPara\" in file CmpDetParas.root");
565 
566  _parFile=false;
567  _d0ResMulti=1.0;
568  _z0ResMulti=1.0;
569  _thtResMulti=1.0;
570  _phiResMulti=1.0;
571  _momResMulti=1.0;
572  _pidLhMulti=1.0;
573  _mom0[11]=0;
574  _mom0[13]=0;
575  _mom0[211]=0;
576  _mom0[321]=0;
577  _mom0[2212]=0;
578  _tht0=0;
579  _tht1=0;
580  }
Double_t _pidLhMulti
TString _parFileName
Double_t _d0ResMulti
Double_t _thtResMulti
Double_t _z0ResMulti
TParameter< Double_t > * _tht1
std::map< Int_t, TParameter< Double_t > * > _mom0
std::string _detName
Definition: PndFsmAbsDet.h:92
TParameter< Double_t > * _tht0
Double_t _momResMulti
Double_t _phiResMulti
void PndFsmAbsDet::parseParameterList ( ArgList par)
protectedinherited

Definition at line 119 of file PndFsmAbsDet.cxx.

References CStrTok::GetFirst(), CStrTok::GetNext(), name, and PndFsmAbsDet::setParameter().

Referenced by PndFsmAbsDet::PndFsmAbsDet(), PndFsmCmpDet::PndFsmCmpDet(), PndFsmCombiDet(), PndFsmDetTemplate::PndFsmDetTemplate(), PndFsmDrcBarrel::PndFsmDrcBarrel(), PndFsmDrcDisc::PndFsmDrcDisc(), PndFsmEffTracker::PndFsmEffTracker(), PndFsmEmcBarrel::PndFsmEmcBarrel(), PndFsmEmcBwCap::PndFsmEmcBwCap(), PndFsmEmcFS::PndFsmEmcFS(), PndFsmEmcFwCap::PndFsmEmcFwCap(), PndFsmEmcPid::PndFsmEmcPid(), PndFsmIdealPid::PndFsmIdealPid(), PndFsmMdcFS::PndFsmMdcFS(), PndFsmMdcTS::PndFsmMdcTS(), PndFsmMdtPid::PndFsmMdtPid(), PndFsmMvd::PndFsmMvd(), PndFsmMvd2::PndFsmMvd2(), PndFsmMvdPid::PndFsmMvdPid(), PndFsmRich::PndFsmRich(), PndFsmSimpleTracker::PndFsmSimpleTracker(), PndFsmSimpleVtx::PndFsmSimpleVtx(), PndFsmStt::PndFsmStt(), PndFsmSttPid::PndFsmSttPid(), and PndFsmTof::PndFsmTof().

120 {
121  // ArgList is a std::list<std::string> of the form ("a=1","b=2","c=3","d=4")
122 
123  // Default values for the parameters
124 
125  CStrTok tokenizer;
126  char csrc[200];
127 
128  if (par.size() != 0) {
129 
130  //cout <<"Parameters for detector <"<<_detName<<">"<<endl;
131  for(ArgList::const_iterator argIt=par.begin(); argIt!=par.end();argIt++) {
132 
133  const char *src=argIt->data();
134  strcpy(csrc,src);
135 
136  char* token = tokenizer.GetFirst(csrc,"=");
137  string name(token);
138  //cout <<"variable: -" << name << "- ";
139  token = tokenizer.GetNext("=");
140 
141  double value = atof(token);
142  string strvalue(token);
143 
144  //cout <<"value: -"<<value<<"- "<<endl;
145 
146  if (value!=0 || strvalue=="0" || strvalue=="0.0" || strvalue=="0.")
147  {
148  if (!setParameter(name,value))
149  cout <<" -W- (PndFsmAbsDet::parseParameterList) Unknown Parameter: <"<<name<< endl;
150  }
151  else
152  {
153  if (!setParameter(name,strvalue))
154  cout <<" -W- (PndFsmAbsDet::parseParameterList) Unknown Parameter: <"<<name<< endl;
155  }
156 
157  }
158  }
159 
160  /*
161  if (par.size() != 0) {
162 
163  //cout <<"Parameters for detector <"<<_detName<<">"<<endl;
164  for(ArgList::const_iterator argIt=par.begin(); argIt!=par.end();argIt++) {
165  typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
166  boost::char_separator<char> sep("=");
167  tokenizer tokens(*argIt, sep);
168  tokenizer::iterator tok_iter = tokens.begin();
169  string name(*tok_iter);
170  ++tok_iter;
171  double value=atof((*tok_iter).c_str());
172 
173  //cout <<"<"<<name<<"> = "<<value<<endl;
174 
175  string name("efficiency");
176  double value=0.99;
177  if (!setParameter(name,value))
178  cout <<" -W- Unknown Parameter: <"<<name<<"> in PndFsmAbsDet::parseParameterList" << endl;
179  }
180  }
181  */
182  //print(std::cout);
183 
184 }
Double_t par[3]
char * GetFirst(char *lpsz, const char *lpcszDelimiters)
Definition: StrTok.cxx:29
TString name
Definition: StrTok.h:11
virtual bool setParameter(std::string &name, double value)
char * GetNext(const char *lpcszDelimiters)
Definition: StrTok.cxx:37
void PndFsmAbsDet::print ( std::ostream o)
virtualinherited
void PndFsmCombiDet::readParameters ( )
private

Definition at line 439 of file PndFsmCombiDet.cxx.

References _d0, _d0Scale, _mom, _mom0, _momScale, _parFile, _parFileName, _phi, _phiScale, _tht, _tht0, _tht1, _thtScale, _z0, _z0Scale, f, for(), i, and if().

Referenced by PndFsmCombiDet().

439  {
440 
441  TFile f(_parFileName);
442 
443  if (f.IsZombie()) {
444  cout <<" -W- (PndFsmCombiDet::readParameters) - file "<<_parFileName
445  <<" doesn't exist. Using constant vertex reso"<<endl;
446  } else {
447  // electrons
448  _d0[11]=(TSpline3*)f.Get("d0E-");
449  _z0[11]=(TSpline3*)f.Get("z0E-");
450  _tht[11]=(TSpline3*)f.Get("thtE-");
451  _phi[11]=(TSpline3*)f.Get("phiE-");
452  _mom[11]=(TSpline3*)f.Get("momE-");
453  if (!_mom0[11]) _mom0[11]=(TParameter<Double_t>*)f.Get("mom0E-");
454  _d0Scale[11]=(TF1*)f.Get("d0ScaleE-");
455  _z0Scale[11]=(TF1*)f.Get("z0ScaleE-");
456  _thtScale[11]=(TF1*)f.Get("thtScaleE-");
457  _phiScale[11]=(TF1*)f.Get("phiScaleE-");
458  _momScale[11]=(TF1*)f.Get("momScaleE-");
459  // muons
460  _d0[13]=(TSpline3*)f.Get("d0Mu+");
461  _z0[13]=(TSpline3*)f.Get("z0Mu+");
462  _tht[13]=(TSpline3*)f.Get("thtMu+");
463  _phi[13]=(TSpline3*)f.Get("phiMu+");
464  if (!_mom0[13]) _mom[13]=(TSpline3*)f.Get("momMu+");
465  _mom0[13]=(TParameter<Double_t>*)f.Get("mom0Mu+");
466  _d0Scale[13]=(TF1*)f.Get("d0ScaleMu+");
467  _z0Scale[13]=(TF1*)f.Get("z0ScaleMu+");
468  _thtScale[13]=(TF1*)f.Get("thtScaleMu+");
469  _phiScale[13]=(TF1*)f.Get("phiScaleMu+");
470  _momScale[13]=(TF1*)f.Get("momScaleMu+");
471  // pions
472  _d0[211]=(TSpline3*)f.Get("d0Pi-");
473  _z0[211]=(TSpline3*)f.Get("z0Pi-");
474  _tht[211]=(TSpline3*)f.Get("thtPi-");
475  _phi[211]=(TSpline3*)f.Get("phiPi-");
476  _mom[211]=(TSpline3*)f.Get("momPi-");
477  if (!_mom0[211]) _mom0[211]=(TParameter<Double_t>*)f.Get("mom0Pi-");
478  _d0Scale[211]=(TF1*)f.Get("d0ScalePi-");
479  _z0Scale[211]=(TF1*)f.Get("z0ScalePi-");
480  _thtScale[211]=(TF1*)f.Get("thtScalePi-");
481  _phiScale[211]=(TF1*)f.Get("phiScalePi-");
482  _momScale[211]=(TF1*)f.Get("momScalePi-");
483  // kaons
484  _d0[321]=(TSpline3*)f.Get("d0K-");
485  _z0[321]=(TSpline3*)f.Get("z0K-");
486  _tht[321]=(TSpline3*)f.Get("thtK-");
487  _phi[321]=(TSpline3*)f.Get("phiK-");
488  _mom[321]=(TSpline3*)f.Get("momK-");
489  if (!_mom0[321]) _mom0[321]=(TParameter<Double_t>*)f.Get("mom0K-");
490  _d0Scale[321]=(TF1*)f.Get("d0ScaleK-");
491  _z0Scale[321]=(TF1*)f.Get("z0ScaleK-");
492  _thtScale[321]=(TF1*)f.Get("thtScaleK-");
493  _phiScale[321]=(TF1*)f.Get("phiScaleK-");
494  _momScale[321]=(TF1*)f.Get("momScaleK-");
495  // protons
496  _d0[2212]=(TSpline3*)f.Get("d0P+");
497  _z0[2212]=(TSpline3*)f.Get("z0P+");
498  _tht[2212]=(TSpline3*)f.Get("thtP+");
499  _phi[2212]=(TSpline3*)f.Get("phiP+");
500  _mom[2212]=(TSpline3*)f.Get("momP+");
501  if (!_mom0[2212]) _mom0[2212]=(TParameter<Double_t>*)f.Get("mom0P+");
502  _d0Scale[2212]=(TF1*)f.Get("d0ScaleP+");
503  _z0Scale[2212]=(TF1*)f.Get("z0ScaleP+");
504  _thtScale[2212]=(TF1*)f.Get("thtScaleP+");
505  _phiScale[2212]=(TF1*)f.Get("phiScaleP+");
506  _momScale[2212]=(TF1*)f.Get("momScaleP+");
507 
508  if (!_tht0) _tht0=(TParameter<Double_t>*)f.Get("tht0");
509  if (!_tht1) _tht1=(TParameter<Double_t>*)f.Get("tht1");
510 
511  f.Close();
512  // now check that all parameters have been loaded correctly
513  _parFile=true;
514  std::map<Int_t, TSpline3*>::iterator i;
515  std::map<Int_t, TParameter<Double_t>*>::iterator j;
516  std::map<Int_t, TF1*>::iterator k;
517 
518  for (i=_d0.begin(); i!=_d0.end(); i++) _parFile = _parFile && i->second;
519  for (i=_z0.begin(); i!=_z0.end(); i++) _parFile = _parFile && i->second;
520  for (i=_tht.begin(); i!=_tht.end(); i++) _parFile = _parFile && i->second;
521  for (i=_phi.begin(); i!=_phi.end(); i++) _parFile = _parFile && i->second;
522  for (i=_mom.begin(); i!=_mom.end(); i++) _parFile = _parFile && i->second;
523 
524  for (j=_mom0.begin(); j!=_mom0.end(); j++) _parFile = _parFile && j->second;
525  _parFile = _parFile && _tht0 && _tht1;
526 
527  for (k=_d0Scale.begin(); k!=_d0Scale.end(); k++) _parFile = _parFile && k->second;
528  for (k=_z0Scale.begin(); k!=_z0Scale.end(); k++) _parFile = _parFile && k->second;
529  for (k=_thtScale.begin(); k!=_thtScale.end(); k++) _parFile = _parFile && k->second;
530  for (k=_phiScale.begin(); k!=_phiScale.end(); k++) _parFile = _parFile && k->second;
531  for (k=_momScale.begin(); k!=_momScale.end(); k++) _parFile = _parFile && k->second;
532 
533  if (!_parFile)
534  cout <<" -W- (PndFsmCombiDet::readParameters) - file "<<_parFileName
535  <<" is defective. Using constant vertex reso"<<endl;
536  }
537 }
std::map< Int_t, TSpline3 * > _phi
std::map< Int_t, TSpline3 * > _tht
Int_t i
Definition: run_full.C:25
std::map< Int_t, TSpline3 * > _d0
TString _parFileName
std::map< Int_t, TF1 * > _thtScale
for(int j=0;j< ncounts;j++)
std::map< Int_t, TSpline3 * > _mom
std::map< Int_t, TSpline3 * > _z0
std::map< Int_t, TF1 * > _z0Scale
std::map< Int_t, TF1 * > _momScale
TFile * f
Definition: bump_analys.C:12
TParameter< Double_t > * _tht1
std::map< Int_t, TF1 * > _d0Scale
std::map< Int_t, TParameter< Double_t > * > _mom0
std::map< Int_t, TF1 * > _phiScale
if(fWindowIsBox)
TParameter< Double_t > * _tht0
PndFsmResponse * PndFsmCombiDet::respond ( PndFsmTrack t)
virtual

Implements PndFsmAbsDet.

Definition at line 114 of file PndFsmCombiDet.cxx.

References _d0, _d0ResMulti, _d0Scale, _mom, _mom0, _momResMulti, _momScale, _parFile, _phi, _phiResMulti, _phiScale, _pidLhMulti, _tht, _tht0, _tht1, _thtResMulti, _thtScale, _z0, _z0ResMulti, _z0Scale, Bool_t, PndFsmTrack::charge(), dE, PndFsmResponse::dE(), PndFsmResponse::detected(), PndFsmResponse::dm(), Double_t, PndFsmResponse::dp(), PndFsmResponse::dphi(), PndFsmResponse::DrcBarrelThtc(), PndFsmResponse::DrcBarrelThtcErr(), PndFsmResponse::DrcDiscThtc(), PndFsmResponse::DrcDiscThtcErr(), PndFsmResponse::dt(), dtheta, PndFsmResponse::dtheta(), PndFsmResponse::dV(), eval(), fabs(), fAntiProtPara, fDetList, femPara, fepPara, fKmPara, fKpPara, fmumPara, fmupPara, fPimPara, fPipPara, fProtPara, fSubtractDetList, PndFsmResponse::LHElectron(), PndFsmResponse::LHKaon(), PndFsmResponse::LHMuon(), PndFsmResponse::LHPion(), PndFsmResponse::LHProton(), PndFsmResponse::m2(), m2(), PndFsmResponse::m2Err(), PndFsmResponse::MvddEdx(), PndFsmResponse::MvddEdxErr(), p, PndFsmTrack::p4(), PndFsmTrack::pdt(), pid(), PndFsmResponse::RichThtc(), PndFsmResponse::RichThtcErr(), PndFsmResponse::setdE(), PndFsmResponse::setDetected(), PndFsmResponse::setDetector(), PndFsmResponse::setdm(), PndFsmResponse::setdp(), PndFsmResponse::setdphi(), PndFsmResponse::setDrcBarrelThtc(), PndFsmResponse::setDrcDiscThtc(), PndFsmResponse::setdt(), PndFsmResponse::setdtheta(), PndFsmResponse::setdV(), PndFsmResponse::setLHElectron(), PndFsmResponse::setLHKaon(), PndFsmResponse::setLHMuon(), PndFsmResponse::setLHPion(), PndFsmResponse::setLHProton(), PndFsmResponse::setm2(), PndFsmResponse::setMvddEdx(), PndFsmResponse::setRichThtc(), PndFsmResponse::setSttdEdx(), PndFsmResponse::setTpcdEdx(), sqrt(), PndFsmResponse::SttdEdx(), PndFsmResponse::SttdEdxErr(), theta, PndFsmResponse::TpcdEdx(), PndFsmResponse::TpcdEdxErr(), and val.

114  {
115  PndFsmResponse *result=new PndFsmResponse();
116 
117  result->setDetector(this);
118 
119  Bool_t detected=false;
120 
121  Double_t dE=0.0;
122  Double_t dp=0.0;
123  Double_t dtheta=0.0;
124  Double_t dphi=0.0;
125  Double_t dt=0.0;
126  Double_t dm=0.0;
127 
128  Double_t m2=0;
129  Double_t MvddEdx=0;
130  Double_t TpcdEdx=0;
131  Double_t SttdEdx=0;
132  Double_t DrcDiscThtc=0;
133  Double_t DrcBarrelThtc=0;
134  Double_t RichThtc=0;
135 
136  Double_t m2Err=0;
137  Double_t MvddEdxErr=0;
138  Double_t TpcdEdxErr=0;
139  Double_t SttdEdxErr=0;
140  Double_t DrcDiscThtcErr=0;
141  Double_t DrcBarrelThtcErr=0;
142  Double_t RichThtcErr=0;
143 
144  Double_t dVx=0;
145  Double_t dVy=0;
146  Double_t dVz=0;
147 
148  Double_t LH_e=1.0;
149  Double_t LH_mu=1.0;
150  Double_t LH_pi=1.0;
151  Double_t LH_K=1.0;
152  Double_t LH_p=1.0;
153 
154  Double_t val=0.0;
155 
156  for (FsmAbsDetList::iterator iter=fDetList.begin();iter!=fDetList.end(); iter++) {
157  PndFsmResponse* resp=(*iter)->respond(t);
158 
159  detected |= resp->detected();
160 
161  if (resp->detected()) {
162  if (fabs(val = resp->dE()) > 1e-8) dE+=1/(val*val);
163  if (fabs(val = resp->dt()) > 1e-8) dt += val*val;
164  if (fabs(val = resp->dm()) > 1e-8) dm +=val;
165  if (fabs (val = resp->m2()) > 1e-11) m2+=val;
166  if (fabs (val = resp->MvddEdx()) > 1e-11) MvddEdx+=val;
167  if (fabs (val = resp->TpcdEdx()) > 1e-11) TpcdEdx+=val;
168  if (fabs (val = resp->SttdEdx()) > 1e-11) SttdEdx+=val;
169  if (fabs (val = resp->DrcDiscThtc()) > 1e-11) DrcDiscThtc+=val;
170  if (fabs (val = resp->DrcBarrelThtc()) > 1e-11) DrcBarrelThtc+=val;
171  if (fabs (val = resp->RichThtc()) > 1e-11) RichThtc+=val;
172 
173  if (fabs (val = resp->m2Err()) > 1e-11) m2Err+=val;
174  if (fabs (val = resp->MvddEdxErr()) > 1e-11) MvddEdxErr+=val;
175  if (fabs (val = resp->TpcdEdxErr()) > 1e-11) TpcdEdxErr+=val;
176  if (fabs (val = resp->SttdEdxErr()) > 1e-11) SttdEdxErr+=val;
177  if (fabs (val = resp->DrcDiscThtcErr()) > 1e-11) DrcDiscThtcErr+=val;
178  if (fabs (val = resp->DrcBarrelThtcErr()) > 1e-11) DrcBarrelThtcErr+=val;
179  if (fabs (val = resp->RichThtcErr()) > 1e-11) RichThtcErr+=val;
180 
181  Double_t rawLHe = resp->LHElectron();
182  Double_t rawLHmu = resp->LHMuon();
183  Double_t rawLHpi = resp->LHPion();
184  Double_t rawLHK = resp->LHKaon();
185  Double_t rawLHp = resp->LHProton();
186 
187  Double_t sumRaw = rawLHe+rawLHmu+rawLHpi+rawLHK+rawLHp;
188 
189  if (sumRaw>0) {
190  rawLHe /= sumRaw;
191  rawLHmu /= sumRaw;
192  rawLHpi /= sumRaw;
193  rawLHK /= sumRaw;
194  rawLHp /= sumRaw;
195  LH_e *= rawLHe;
196  LH_mu *= rawLHmu;
197  LH_pi *= rawLHpi;
198  LH_K *= rawLHK;
199  LH_p *= rawLHp;
200  } else {
201  LH_e *= 0.2;
202  LH_mu *= 0.2;
203  LH_pi *= 0.2;
204  LH_K *= 0.2;
205  LH_p *= 0.2;
206  }
207  }
208  }
209 
210  // invoke parameterised vertex/momentum resolution
211  // (this will overwrite dp, dtheta, dphi and dV)
212  if ( _parFile )
213  // haven't done neutral particles yet
214  if ( fabs(t->charge())>1e-8 ) {
215  Double_t p=t->p4().Vect().Mag();
216  Double_t theta=t->p4().Vect().Theta()*180/M_PI;
217  Int_t pid=abs(t->pdt());
218  // cut off slow and out of theta range particles
219  // (this avoids floating poInt_t exceptions)
220  detected &= ( p > _mom0[pid]->GetVal() );
221  detected &= ( theta >= _tht0->GetVal() );
222  detected &= ( theta <= _tht1->GetVal() );
223 
224  if (detected) {
225  dtheta = eval(_tht[pid], theta) * _thtScale[pid]->Eval(p) * _thtResMulti * 3.1416/180;
226  dphi = eval(_phi[pid], theta) * _phiScale[pid]->Eval(p) * _phiResMulti * 3.1416/180;
227  dp = eval(_mom[pid], theta) * _momScale[pid]->Eval(p) * _momResMulti * p;
228 
229  dVx = eval(_d0[pid], theta) * _d0Scale[pid]->Eval(p) * _d0ResMulti;
230  dVy = eval(_d0[pid], theta) * _d0Scale[pid]->Eval(p) * _d0ResMulti;
231  dVz = eval(_z0[pid], theta) * _z0Scale[pid]->Eval(p) * _z0ResMulti;
232 
233  dtheta=1/(dtheta*dtheta);
234  dphi=1/(dphi*dphi);
235  dp=1/(dp*dp);
236  }
237  }
238 
239  for (FsmAbsDetList::iterator iter=fSubtractDetList.begin();iter!=fSubtractDetList.end(); iter++) {
240  PndFsmResponse* resp=(*iter)->respond(t);
241 
242  if (resp->detected()) {
243  if (fabs(val = resp->dE()) > 1e-8) dE-=1/(val*val);
244  if (fabs(val = resp->dp()) > 1e-8) dp-=1/(val*val);
245  if (fabs(val = resp->dtheta())> 1e-8) dtheta-=1/(val*val);
246  if (fabs(val = resp->dphi()) > 1e-8) dphi-=1/(val*val);
247  if (fabs(val = resp->dt()) > 1e-8) dt -= val*val;
248  if (fabs(val = resp->dm()) > 1e-8) dm -=val;
249  if (fabs (val = resp->m2()) > 1e-11) m2-=val;
250  if (fabs (val = resp->MvddEdx()) > 1e-11) MvddEdx-=val;
251  if (fabs (val = resp->TpcdEdx()) > 1e-11) TpcdEdx-=val;
252  if (fabs (val = resp->SttdEdx()) > 1e-11) SttdEdx-=val;
253  if (fabs (val = resp->DrcDiscThtc()) > 1e-11) DrcDiscThtc-=val;
254  if (fabs (val = resp->DrcBarrelThtc()) > 1e-11) DrcBarrelThtc-=val;
255  if (fabs (val = resp->RichThtc()) > 1e-11) RichThtc-=val;
256 
257  if (fabs (val = resp->m2Err()) > 1e-11) m2Err-=val;
258  if (fabs (val = resp->MvddEdxErr()) > 1e-11) MvddEdxErr-=val;
259  if (fabs (val = resp->TpcdEdxErr()) > 1e-11) TpcdEdxErr-=val;
260  if (fabs (val = resp->SttdEdxErr()) > 1e-11) SttdEdxErr-=val;
261  if (fabs (val = resp->DrcDiscThtcErr()) > 1e-11) DrcDiscThtcErr-=val;
262  if (fabs (val = resp->DrcBarrelThtcErr()) > 1e-11) DrcBarrelThtcErr-=val;
263  if (fabs (val = resp->RichThtcErr()) > 1e-11) RichThtcErr-=val;
264 
265  if (fabs (val = resp->dV().X()) > 1e-11) dVx-=1/(val*val);
266  if (fabs (val = resp->dV().Y()) > 1e-11) dVy-=1/(val*val);
267  if (fabs (val = resp->dV().Z()) > 1e-11) dVz-=1/(val*val);
268 
269  Double_t rawLHe = resp->LHElectron();
270  Double_t rawLHmu = resp->LHMuon();
271  Double_t rawLHpi = resp->LHPion();
272  Double_t rawLHK = resp->LHKaon();
273  Double_t rawLHp = resp->LHProton();
274 
275  Double_t sumRaw = rawLHe+rawLHmu+rawLHpi+rawLHK+rawLHp;
276 
277  if (sumRaw>0) {
278  rawLHe /= sumRaw;
279  rawLHmu /= sumRaw;
280  rawLHpi /= sumRaw;
281  rawLHK /= sumRaw;
282  rawLHp /= sumRaw;
283  LH_e /= rawLHe;
284  LH_mu /= rawLHmu;
285  LH_pi /= rawLHpi;
286  LH_K /= rawLHK;
287  LH_p /= rawLHp;
288  }
289  }
290  }
291 
292  Double_t sumLH = LH_e + LH_mu + LH_pi + LH_K + LH_p;
293 
294  if (sumLH>0) {
295  LH_e /= sumLH;
296  LH_mu /= sumLH;
297  LH_pi /= sumLH;
298  LH_K /= sumLH;
299  LH_p /= sumLH;
300  } else {
301  LH_e = 0.2;
302  LH_mu = 0.2;
303  LH_pi = 0.2;
304  LH_K = 0.2;
305  LH_p = 0.2;
306  }
307 
308  // this shifts all likelihoods linearly to the state
309  // of no pid information at all i. e. all lhs are 0.2
310  LH_e = 0.2*(1-_pidLhMulti) + LH_e*_pidLhMulti;
311  LH_mu = 0.2*(1-_pidLhMulti) + LH_mu*_pidLhMulti;
312  LH_pi = 0.2*(1-_pidLhMulti) + LH_pi*_pidLhMulti;
313  LH_K = 0.2*(1-_pidLhMulti) + LH_K*_pidLhMulti;
314  LH_p = 0.2*(1-_pidLhMulti) + LH_p*_pidLhMulti;
315 
316  result->setdE( dE>0. ? 1/sqrt(dE) : 0.0 );
317  result->setdp( dp>0. ? 1/sqrt(dp) : 0.0 );
318  result->setdtheta( dtheta>0. ? 1/sqrt(dtheta) : 0.0 );
319  result->setdphi( dphi>0. ? 1/sqrt(dphi) : 0.0 );
320  result->setdt( sqrt(dt) );
321  result->setdm(dm);
322 
323  result->setm2(m2, m2Err);
324  result->setMvddEdx(MvddEdx,MvddEdxErr);
325  result->setTpcdEdx(TpcdEdx,TpcdEdxErr);
326  result->setSttdEdx(SttdEdx,SttdEdxErr);
327 
328  result->setDrcDiscThtc(DrcDiscThtc,DrcDiscThtcErr);
329  result->setDrcBarrelThtc(DrcBarrelThtc,DrcBarrelThtcErr);
330  result->setRichThtc(RichThtc,RichThtcErr);
331 
332  if (dVx > 0.) dVx=1./sqrt(dVx); else dVx = 0.0;
333  if (dVy > 0.) dVy=1./sqrt(dVy); else dVy = 0.0;
334  if (dVz > 0.) dVz=1./sqrt(dVz); else dVz = 0.0;
335 
336  result->setdV( dVx , dVy , dVz );
337 
338  result->setLHElectron(LH_e);
339  result->setLHMuon(LH_mu);
340  result->setLHPion(LH_pi);
341  result->setLHKaon(LH_K);
342  result->setLHProton(LH_p);
343 
344  Double_t Eff=0;
345  TLorentzVector P4=t->p4();
346  Double_t Mom = P4.P();
347  Double_t CosTheta = P4.CosTheta();
348  Double_t Phi = TMath::RadToDeg() * P4.Phi();
349  Int_t PDG = t->pdt();
350 
351  if(PDG==211){Eff=fPipPara->Eval(Mom,CosTheta,Phi);}
352  if(PDG==321){Eff=fKpPara->Eval(Mom,CosTheta,Phi);}
353  if(PDG==2212){Eff=fProtPara->Eval(Mom,CosTheta,Phi);}
354  if(PDG==-13){Eff=fmupPara->Eval(Mom,CosTheta,Phi);}
355  if(PDG==-11){Eff=fepPara->Eval(Mom,CosTheta,Phi);}
356 
357  if(PDG==-211){Eff=fPimPara->Eval(Mom,CosTheta,Phi);}
358  if(PDG==-321){Eff=fKmPara->Eval(Mom,CosTheta,Phi);}
359  if(PDG==-2212){Eff=fAntiProtPara->Eval(Mom,CosTheta,Phi);}
360  if(PDG==13){Eff=fmumPara->Eval(Mom,CosTheta,Phi);}
361  if(PDG==11){Eff=femPara->Eval(Mom,CosTheta,Phi);}
362 
363  if(Eff>0) {
364  Double_t Alea=gRandom->Rndm();
365  if(Eff>=Alea){detected=true;}
366  if(Eff<Alea){detected=false;}
367  }
368 
369  result->setDetected(detected);
370 
371  return result;
372 }
TVector3 dV()
std::map< Int_t, TSpline3 * > _phi
Double_t eval(TSpline3 *spline, Double_t theta)
void setDrcBarrelThtc(double val, double err=0)
void setdV(TVector3 v)
void setdphi(double val)
void setLHElectron(double val)
std::map< Int_t, TSpline3 * > _tht
std::map< Int_t, TSpline3 * > _d0
void setLHProton(double val)
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:29
Double_t _pidLhMulti
void setTpcdEdx(double val, double err=0)
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
double MvddEdxErr()
void setLHMuon(double val)
int pid()
double MvddEdx()
double charge()
Definition: PndFsmTrack.h:75
double RichThtcErr()
Double_t _d0ResMulti
Double_t _thtResMulti
std::map< Int_t, TF1 * > _thtScale
void setm2(double val, double err=0)
double RichThtc()
Double_t p
Definition: anasim.C:58
double DrcDiscThtcErr()
FsmAbsDetList fDetList
std::map< Int_t, TSpline3 * > _mom
FsmAbsDetList fSubtractDetList
TString m2(TString pts, TString exts="e px py pz")
Definition: invexp.C:117
std::map< Int_t, TSpline3 * > _z0
void setdt(double val)
double SttdEdxErr()
TLorentzVector p4()
Definition: PndFsmTrack.h:72
double TpcdEdx()
void setDetector(PndFsmAbsDet *detector)
Double_t
double SttdEdx()
std::map< Int_t, TF1 * > _z0Scale
void setDrcDiscThtc(double val, double err=0)
std::map< Int_t, TF1 * > _momScale
Double_t dE
Definition: anasim.C:58
double dtheta
Definition: anaLmdCluster.C:54
void setdp(double val)
double LHElectron()
Double_t _z0ResMulti
void setLHKaon(double val)
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
TParameter< Double_t > * _tht1
void setdE(double val)
std::map< Int_t, TF1 * > _d0Scale
std::map< Int_t, TParameter< Double_t > * > _mom0
double DrcDiscThtc()
void setRichThtc(double val, double err=0)
void setDetected(bool isdet)
void setdtheta(double val)
std::map< Int_t, TF1 * > _phiScale
void setSttdEdx(double val, double err=0)
void setdm(double val)
double TpcdEdxErr()
double DrcBarrelThtcErr()
TParameter< Double_t > * _tht0
void setMvddEdx(double val, double err=0)
double DrcBarrelThtc()
Double_t _momResMulti
Double_t _phiResMulti
void setLHPion(double val)
void PndFsmAbsDet::setName ( std::string &  name)
inlineinherited

Definition at line 75 of file PndFsmAbsDet.h.

References PndFsmAbsDet::_detName, and name.

Referenced by PndFsmDetFactory::create().

75 {_detName = name;};
TString name
std::string _detName
Definition: PndFsmAbsDet.h:92
Bool_t PndFsmCombiDet::setParameter ( std::string &  name,
std::string &  value 
)
privatevirtual

Reimplemented from PndFsmAbsDet.

Bool_t PndFsmCombiDet::setParameter ( std::string &  name,
Double_t  value 
)
private

Definition at line 403 of file PndFsmCombiDet.cxx.

References _d0ResMulti, _momResMulti, _phiResMulti, _pidLhMulti, _tht0, _tht1, _thtResMulti, _z0ResMulti, and Bool_t.

403  {
404  // *****************
405  // include here all float parameters which should be settable
406  // *****************
407 
408  Bool_t knownName=true;
409 
410  if (name == "d0ResMulti")
411  _d0ResMulti=value;
412  else
413  if (name == "z0ResMulti")
414  _z0ResMulti=value;
415  else
416  if (name == "thtResMulti")
417  _thtResMulti=value;
418  else
419  if (name == "phiResMulti")
420  _phiResMulti=value;
421  else
422  if (name == "momResMulti")
423  _momResMulti=value;
424  else
425  if (name == "thtMin")
426  _tht0 = new TParameter<Double_t>("tht0", value);
427  else
428  if (name == "thtMax")
429  _tht1 = new TParameter<Double_t>("tht1", value);
430  else
431  if (name == "pidLhMulti")
432  _pidLhMulti=value;
433  else
434  knownName=false;
435 
436  return knownName;
437 }
Double_t _pidLhMulti
Double_t _d0ResMulti
Double_t _thtResMulti
Double_t _z0ResMulti
TString name
TParameter< Double_t > * _tht1
TParameter< Double_t > * _tht0
Double_t _momResMulti
Double_t _phiResMulti
bool PndFsmAbsDet::setParameter ( std::string &  name,
double  value 
)
protectedvirtualinherited
void PndFsmAbsDet::setStorePid ( Bool_t  doespid = kTRUE)
inlineinherited

Definition at line 77 of file PndFsmAbsDet.h.

References PndFsmAbsDet::_doesPid.

Referenced by PndFsmDetFactory::create().

77 {_doesPid=doespid;};
Bool_t _doesPid
Definition: PndFsmAbsDet.h:96
Bool_t PndFsmCombiDet::SubtractDetector ( std::string  name,
std::string  params = "" 
)

Definition at line 381 of file PndFsmCombiDet.cxx.

References PndFsmDetFactory::create(), fDetFact, and fSubtractDetList.

381  {
382  PndFsmAbsDet *det=fDetFact.create(name,params);
383  if (det)
384  fSubtractDetList.push_back(det);
385  return det;
386 }
FsmAbsDetList fSubtractDetList
PndFsmAbsDet * create(std::string &name, ArgList &par)
TString name
PndFsmDetFactory fDetFact

Member Data Documentation

std::map<Int_t, TSpline3*> PndFsmCombiDet::_d0
private

Definition at line 92 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

Double_t PndFsmCombiDet::_d0ResMulti
private

Definition at line 82 of file PndFsmCombiDet.h.

Referenced by initParameters(), respond(), and setParameter().

std::map<Int_t, TF1*> PndFsmCombiDet::_d0Scale
private

Definition at line 100 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

std::string PndFsmAbsDet::_detName
protectedinherited
Bool_t PndFsmAbsDet::_doesPid
protectedinherited
double PndFsmAbsDet::_efficiency
protectedinherited

Definition at line 93 of file PndFsmAbsDet.h.

Referenced by PndFsmDetTemplate::detected(), PndFsmSimpleTracker::detected(), PndFsmMdcTS::detected(), PndFsmMvd::detected(), PndFsmEmcBwCap::detected(), PndFsmTof::detected(), PndFsmStt::detected(), PndFsmMvd2::detected(), PndFsmMdcFS::detected(), PndFsmSimpleVtx::detected(), PndFsmEmcFwCap::detected(), PndFsmSttPid::detected(), PndFsmEmcFS::detected(), PndFsmMvdPid::detected(), PndFsmRich::detected(), PndFsmEmcBarrel::detected(), PndFsmDrcDisc::detected(), PndFsmMdtPid::detected(), PndFsmDrcBarrel::detected(), PndFsmEmcPid::detected(), PndFsmEffTracker::detected(), PndFsmSimpleTracker::initParameters(), PndFsmSimpleVtx::initParameters(), PndFsmDetTemplate::initParameters(), PndFsmMvdPid::initParameters(), PndFsmTof::initParameters(), PndFsmMdtPid::initParameters(), PndFsmEmcPid::initParameters(), PndFsmEmcFwCap::initParameters(), PndFsmRich::initParameters(), PndFsmMdcFS::initParameters(), PndFsmSttPid::initParameters(), PndFsmMdcTS::initParameters(), PndFsmEmcBwCap::initParameters(), PndFsmEmcFS::initParameters(), PndFsmMvd2::initParameters(), PndFsmEmcBarrel::initParameters(), PndFsmDrcDisc::initParameters(), PndFsmDrcBarrel::initParameters(), PndFsmStt::initParameters(), PndFsmMvd::initParameters(), PndFsmEffTracker::initParameters(), PndFsmSimpleTracker::print(), PndFsmSimpleVtx::print(), PndFsmDetTemplate::print(), PndFsmMvdPid::print(), PndFsmTof::print(), PndFsmMdtPid::print(), PndFsmEmcPid::print(), PndFsmMdcFS::print(), PndFsmEmcFS::print(), PndFsmMdcTS::print(), PndFsmEmcBwCap::print(), PndFsmMvd2::print(), PndFsmSttPid::print(), PndFsmEmcFwCap::print(), PndFsmRich::print(), PndFsmEmcBarrel::print(), PndFsmDrcDisc::print(), PndFsmDrcBarrel::print(), PndFsmStt::print(), PndFsmMvd::print(), PndFsmEffTracker::print(), PndFsmSimpleTracker::setParameter(), PndFsmSimpleVtx::setParameter(), PndFsmDetTemplate::setParameter(), PndFsmMvdPid::setParameter(), PndFsmMdtPid::setParameter(), PndFsmTof::setParameter(), PndFsmEmcPid::setParameter(), PndFsmMvd2::setParameter(), PndFsmEmcFS::setParameter(), PndFsmSttPid::setParameter(), PndFsmMdcTS::setParameter(), PndFsmEmcFwCap::setParameter(), PndFsmMdcFS::setParameter(), PndFsmRich::setParameter(), PndFsmEmcBwCap::setParameter(), PndFsmEmcBarrel::setParameter(), PndFsmDrcBarrel::setParameter(), PndFsmDrcDisc::setParameter(), PndFsmMvd::setParameter(), PndFsmStt::setParameter(), and PndFsmEffTracker::setParameter().

TDatabasePDG* PndFsmAbsDet::_fdbPDG
protectedinherited
std::map<Int_t, TSpline3*> PndFsmCombiDet::_mom
private

Definition at line 96 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

std::map<Int_t, TParameter<Double_t>*> PndFsmCombiDet::_mom0
private

Definition at line 97 of file PndFsmCombiDet.h.

Referenced by initParameters(), readParameters(), and respond().

Double_t PndFsmCombiDet::_momResMulti
private

Definition at line 86 of file PndFsmCombiDet.h.

Referenced by initParameters(), respond(), and setParameter().

std::map<Int_t, TF1*> PndFsmCombiDet::_momScale
private

Definition at line 104 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

Bool_t PndFsmCombiDet::_parFile
private

Definition at line 81 of file PndFsmCombiDet.h.

Referenced by initParameters(), readParameters(), and respond().

TString PndFsmCombiDet::_parFileName
private

Definition at line 78 of file PndFsmCombiDet.h.

Referenced by initParameters(), PndFsmCombiDet(), and readParameters().

std::map<Int_t, TSpline3*> PndFsmCombiDet::_phi
private

Definition at line 95 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

Double_t PndFsmCombiDet::_phiResMulti
private

Definition at line 85 of file PndFsmCombiDet.h.

Referenced by initParameters(), respond(), and setParameter().

std::map<Int_t, TF1*> PndFsmCombiDet::_phiScale
private

Definition at line 103 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

Double_t PndFsmCombiDet::_pidLhMulti
private

Definition at line 90 of file PndFsmCombiDet.h.

Referenced by initParameters(), respond(), and setParameter().

TRandom3* PndFsmAbsDet::_rand
protectedinherited
std::map<Int_t, TSpline3*> PndFsmCombiDet::_tht
private

Definition at line 94 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

TParameter<Double_t>* PndFsmCombiDet::_tht0
private

Definition at line 98 of file PndFsmCombiDet.h.

Referenced by initParameters(), readParameters(), respond(), and setParameter().

TParameter<Double_t>* PndFsmCombiDet::_tht1
private

Definition at line 99 of file PndFsmCombiDet.h.

Referenced by initParameters(), readParameters(), respond(), and setParameter().

Double_t PndFsmCombiDet::_thtResMulti
private

Definition at line 84 of file PndFsmCombiDet.h.

Referenced by initParameters(), respond(), and setParameter().

std::map<Int_t, TF1*> PndFsmCombiDet::_thtScale
private

Definition at line 102 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

std::map<Int_t, TSpline3*> PndFsmCombiDet::_z0
private

Definition at line 93 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

Double_t PndFsmCombiDet::_z0ResMulti
private

Definition at line 83 of file PndFsmCombiDet.h.

Referenced by initParameters(), respond(), and setParameter().

std::map<Int_t, TF1*> PndFsmCombiDet::_z0Scale
private

Definition at line 101 of file PndFsmCombiDet.h.

Referenced by readParameters(), and respond().

TF3* PndFsmCombiDet::fAntiProtPara
private

Definition at line 111 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

PndFsmDetFactory PndFsmCombiDet::fDetFact
private

Definition at line 76 of file PndFsmCombiDet.h.

Referenced by AddDetector(), and SubtractDetector().

FsmAbsDetList PndFsmCombiDet::fDetList
private

Definition at line 74 of file PndFsmCombiDet.h.

Referenced by AddDetector(), and respond().

TFile* PndFsmCombiDet::fEffFile
private

Definition at line 79 of file PndFsmCombiDet.h.

Referenced by initParameters().

TF3* PndFsmCombiDet::femPara
private

Definition at line 113 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fepPara
private

Definition at line 112 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fKmPara
private

Definition at line 109 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fKpPara
private

Definition at line 108 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fmumPara
private

Definition at line 115 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fmupPara
private

Definition at line 114 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fPimPara
private

Definition at line 107 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fPipPara
private

Definition at line 106 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

TF3* PndFsmCombiDet::fProtPara
private

Definition at line 110 of file PndFsmCombiDet.h.

Referenced by initParameters(), and respond().

FsmAbsDetList PndFsmCombiDet::fSubtractDetList
private

Definition at line 75 of file PndFsmCombiDet.h.

Referenced by respond(), and SubtractDetector().


The documentation for this class was generated from the following files: