37         double pbarmom = 9.808065;
 
   39         TLorentzVector ini(0,0,pbarmom, 
sqrt(pbarmom*pbarmom+mp*mp)+mp);
 
   42         FairRunAna *
fRun= 
new FairRunAna();
 
   49                 inParFile = 
"simparams.root";
 
   51                 fRun->SetInputFile(pref);
 
   56                 OutFile   = TString::Format(
"%s_ana_%d_%d.root",pref.Data(), 
min, 
max);
 
   57                 inParFile =     TString::Format(
"%s_%d_par.root",pref.Data(), 
min);
 
   63         TString pidParFile = 
TString(gSystem->Getenv(
"VMCWORKDIR"))+
"/macro/params/all.par";
 
   66         FairLogger::GetLogger()->SetLogToFile(kFALSE);
 
   67         FairRuntimeDb* 
rtdb = fRun->GetRuntimeDb();
 
   70         FairParRootFileIo* parIO = 
new FairParRootFileIo();
 
   71         parIO->open(inParFile);
 
   72         FairParAsciiFileIo* parIOPid = 
new FairParAsciiFileIo();
 
   73         parIOPid->open(pidParFile.Data(),
"in");
 
   75         rtdb->setFirstInput(parIO);
 
   76         rtdb->setSecondInput(parIOPid);
 
   77         rtdb->setOutput(parIO);
 
   79         fRun->SetOutputFile(
"dummyout.root");
 
   83         TFile *
out = TFile::Open(OutFile,
"RECREATE");
 
   87         if (nevts==0) nevts= theAnalysis->
GetEntries();
 
   92         TString pidsel = 
"PidAlgoEmcBayes;PidAlgoDrc;PidAlgoDisc;PidAlgoStt;PidAlgoMdtHardCuts";
 
  100         while (theAnalysis->
GetEvent() && i++<nevts)
 
  102                 if ((i%100)==0) cout<<
"evt " << i << endl;
 
  107                 theAnalysis->
FillList( kp,  
"KaonAllPlus",  pidsel);
 
  108                 theAnalysis->
FillList( km,  
"KaonAllMinus", pidsel);
 
  109                 theAnalysis->
FillList( pip, 
"PionAllPlus",  pidsel);
 
  110                 theAnalysis->
FillList( pim, 
"PionAllMinus", pidsel);
 
  128                         TLorentzVector d0cm = d0[j]->P4();
 
  129                         TLorentzVector kacm = dka->
P4();
 
  130                         TLorentzVector picm = dpi->
P4();
 
  131                         d0cm.Boost(-ini.BoostVector());
 
  132                         kacm.Boost(-ini.BoostVector());
 
  133                         picm.Boost(-ini.BoostVector());
 
  138                         double qavtx = fVtxPoca.
GetPocaVtx(vtx, d0[j]);
 
  140                         nd0->
Column(
"ev",               (Float_t) i);
 
  141                         nd0->
Column(
"cand",             (Float_t) j);
 
  142                         nd0->
Column(
"pdg",              (Float_t) d0[j]->PdgCode());
 
  143                         nd0->
Column(
"mct",              (Float_t) mct);
 
  145                         nd0->
Column(
"d0m",              (Float_t) d0[j]->M());
 
  146                         nd0->
Column(
"d0p",              (Float_t) d0[j]->
P());
 
  147                         nd0->
Column(
"d0tht",    (Float_t) d0[j]->P3().Theta());
 
  148                         nd0->
Column(
"d0phi",    (Float_t) d0[j]->P3().Phi());
 
  149                         nd0->
Column(
"d0pt",             (Float_t) d0[j]->P3().Pt());
 
  150                         nd0->
Column(
"d0pcm",    (Float_t) d0cm.P());
 
  151                         nd0->
Column(
"d0thtcm",  (Float_t) d0cm.Theta());
 
  152                         nd0->
Column(
"d0miss",   (Float_t) (ini-(d0[j]->P4())).M());
 
  154                         nd0->
Column(
"d0vx",             (Float_t) vtx.X());
 
  155                         nd0->
Column(
"d0vy",             (Float_t) vtx.Y());
 
  156                         nd0->
Column(
"d0vz",             (Float_t) vtx.Z());
 
  157                         nd0->
Column(
"d0vqa",    (Float_t) qavtx);
 
  160                         nd0->
Column(
"kp",               (Float_t) dka->
P());
 
  161                         nd0->
Column(
"ktht",             (Float_t) dka->
P3().Theta());
 
  162                         nd0->
Column(
"kphi",             (Float_t) dka->
P3().Phi());
 
  163                         nd0->
Column(
"kpt",              (Float_t) dka->
P3().Pt());
 
  165                         nd0->
Column(
"kapcm",    (Float_t) kacm.P());
 
  166                         nd0->
Column(
"kathtcm",  (Float_t) kacm.Theta());
 
  169                         nd0->
Column(
"pip",              (Float_t) dpi->
P());
 
  170                         nd0->
Column(
"pitht",    (Float_t) dpi->
P3().Theta());
 
  171                         nd0->
Column(
"piphi",    (Float_t) dpi->
P3().Phi());
 
  172                         nd0->
Column(
"pit",              (Float_t) dpi->
P3().Pt());
 
  174                         nd0->
Column(
"pipcm",    (Float_t) picm.P());
 
  175                         nd0->
Column(
"pithtcm",  (Float_t) picm.Theta());
 
void Append(const RhoCandidate *c)
friend F32vec4 sqrt(const F32vec4 &a)
Bool_t FillList(RhoCandList &l, TString listkey="All", TString pidTcaNames="", int trackHypothesis=-1)
PndPidCandidate * GetRecoCandidate() const 
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
void Combine(RhoCandList &l1, RhoCandList &l2)
void attachFiles(FairRunAna *fRun, TString pref, int min, int max)
Double_t GetPocaVtx(TVector3 &vertex, RhoCandidate *composite)
void Select(RhoParticleSelectorBase *pidmgr)
TLorentzVector P4() const 
void Column(const char *label, Bool_t value, Bool_t defval=0, const char *block=0)
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
void SetType(const TParticlePDG *pdt, int start=0)
TTree * GetInternalTree()
Bool_t McTruthMatch(RhoCandidate *cand, Int_t level=2, bool verbose=false)
Int_t GetEvent(Int_t n=-1)
double GetPidInfo(int hypo)