FairRoot/PandaRoot
Typedefs | Functions
invexp.C File Reference
#include "TObjString.h"
#include "TString.h"
#include "TObjArray.h"
#include <vector>

Go to the source code of this file.

Typedefs

typedef std::vector< TStringStrVec
 

Functions

int SplitString (TString s, TString delim, StrVec &toks)
 
bool prepare (TString pts, TString exts, StrVec &c, StrVec &vars)
 
TString makefml (TString pts, TString exts, int ncmp=4, TString last="-")
 
TString m (TString pts, TString exts="e px py pz")
 
TString m2 (TString pts, TString exts="e px py pz")
 
TString p (TString pts, TString exts="px py pz")
 
TString pt (TString pts, TString exts="px py pz")
 
TString pz (TString pts, TString exts="px py pz")
 
TString thtd (TString pts, TString exts="px py pz")
 
TString tht (TString pts, TString exts="px py pz")
 
TString ctht (TString pts, TString exts="px py pz")
 
TString dalitz (TString pts, TString exts="e px py pz")
 

Typedef Documentation

typedef std::vector<TString> StrVec

Definition at line 41 of file invexp.C.

Function Documentation

TString ctht ( TString  pts,
TString  exts = "px py pz" 
)

Definition at line 179 of file invexp.C.

References p, pz, and TString.

Referenced by PndFsmRich::respond(), and PndFsmDrcDisc::respond().

180 {
181  TString tp = p(pts,exts);
182  TString tpz = pz(pts,exts);
183 
184  return "("+tpz+"/"+tp+")";
185 }
Double_t p
Definition: anasim.C:58
double pz[39]
Definition: pipisigmas.h:14
TString dalitz ( TString  pts,
TString  exts = "e px py pz" 
)

Definition at line 190 of file invexp.C.

References c, m2(), SplitString(), TString, and vars.

191 {
192  bool invord = (pts.BeginsWith("*"));
193  pts.ReplaceAll("*","");
194 
195  StrVec c,vars;
196  SplitString(pts, " ", vars);
197 
198  if (vars.size()!=3) return "1";
199 
200  TString pts1=vars[0]+"+"+vars[1];
201  TString pts2=vars[0]+"+"+vars[2];
202 
203  TString m01 = m2((invord?"*":"")+pts1,exts);
204  TString m02 = m2((invord?"*":"")+pts2,exts);
205 
206  return m01+":"+m02;
207 }
TString m2(TString pts, TString exts="e px py pz")
Definition: invexp.C:117
TString vars[MAX]
Definition: autocutx.C:34
int SplitString(TString s, TString delim, StrVec &toks)
Definition: invexp.C:43
std::vector< TString > StrVec
TString m ( TString  pts,
TString  exts = "e px py pz" 
)

Definition at line 109 of file invexp.C.

References makefml().

110 {
111  return "sqrt("+makefml(pts,exts)+")";
112 }
TString makefml(TString pts, TString exts, int ncmp=4, TString last="-")
Definition: invexp.C:89
TString m2 ( TString  pts,
TString  exts = "e px py pz" 
)
TString makefml ( TString  pts,
TString  exts,
int  ncmp = 4,
TString  last = "-" 
)

Definition at line 89 of file invexp.C.

References c, i, prepare(), r, TString, and vars.

Referenced by m(), m2(), p(), and pt().

90 {
91  StrVec c,vars;
92  bool invord = prepare(pts, exts, c, vars);
93 
94  TString r="";
95 
96  for (int i=0;i<ncmp;++i)
97  {
98  r += "(";
99  for (unsigned int j=0;j<vars.size();++j) invord ? r += c[i]+vars[j] : r += vars[j]+c[i];
100  r += ")^2";
101  if (i<ncmp-1) r += last;
102  }
103  return r;
104 }
double r
Definition: RiemannTest.C:14
Int_t i
Definition: run_full.C:25
TString vars[MAX]
Definition: autocutx.C:34
std::vector< TString > StrVec
bool prepare(TString pts, TString exts, StrVec &c, StrVec &vars)
Definition: invexp.C:60
TString p ( TString  pts,
TString  exts = "px py pz" 
)

Definition at line 125 of file invexp.C.

References makefml().

126 {
127  return "sqrt("+makefml(pts,exts,3,"+")+")";
128 }
TString makefml(TString pts, TString exts, int ncmp=4, TString last="-")
Definition: invexp.C:89
bool prepare ( TString  pts,
TString  exts,
StrVec c,
StrVec vars 
)

Definition at line 60 of file invexp.C.

References SplitString().

Referenced by makefml(), and pz().

61 {
62  bool invord = false;
63 
64  if (pts.BeginsWith("*")) invord=true;
65  pts.ReplaceAll("*","");
66 
67  SplitString(exts," ",c);
68 
69  if (invord)
70  {
71  pts.ReplaceAll("-","- ");
72  pts.ReplaceAll("+","+ ");
73  }
74  else
75  {
76  pts.ReplaceAll("-"," -");
77  pts.ReplaceAll("+"," +");
78  }
79 
80  SplitString(pts," ",vars);
81 
82  return invord;
83 }
TString vars[MAX]
Definition: autocutx.C:34
int SplitString(TString s, TString delim, StrVec &toks)
Definition: invexp.C:43
TString pt ( TString  pts,
TString  exts = "px py pz" 
)

Definition at line 133 of file invexp.C.

References makefml().

Referenced by ana_pid(), AnalyseSimFile(), PndEmcMakeCluster::cleansortmclist(), PndEmcHitProducer::cleansortmclist(), PndTrkTrack::ComputeMomentumAtPosition(), ctauhistogramm(), PndFsmEmcPid::detected(), MyMainFrame::DoDraw(), PndSttHelixTrackFitter::DoFitPlain(), draw_track(), DrawField(), PndMvdEventAnaTask::Exec(), PndDrcHitProducerIdeal::Exec(), PndDskFLGHitProducerIdeal::Exec(), KFParticleFinder::Find2DaughterDecay(), KFParticleFinder::FindDMesLambdac(), fixForMctester(), for(), PndRiemannTrack::getCharge(), PndFTSCADisplay::GetColorK(), KFParticle::GetDistanceFromVertexXY(), KFParticleSIMD::GetDistanceFromVertexXY(), KFParticle::GetExternalTrackParam(), KFParticleSIMD::GetExternalTrackParam(), PndRiemannTrack::getPforHit(), KFParticleBase::GetPt(), PndFTSCATrackParam::GetXYZPxPyPzQ(), PndFTSTopoReconstructor::Init(), PndSttTrack::MomentumAtPoint(), RhoCalculationTools::P7toPRG(), PndTrkTrack::PndTrkTrack(), DrawHits::ProcessBarHit(), PndDrcRecoLookupMapS::ProcessBarHit(), PndDrcRecoLookupMap::ProcessBarHit(), PndDrcHitProducerReal::ProcessBarPoint(), PndDisc::ProcessHits(), propagate(), PndFsmTrack::Propagate(), PndGasGenerator::ReadEvent(), PndBoxGenerator::ReadEvent(), PndVolGenerator::ReadEvent(), PndFixStepParticleGun::ReadEvent(), PndPmtPoormantracks::RollMomentumBox(), RollMomentumBox(), softtrigger_kin5(), softtrigger_toy12(), tht(), thtd(), toy_core(), trapmap_barrel(), PndSttHelixTrackFitter::XYFit(), PndSttHelixTrackFitter::XYFitThroughOrigin(), ZeeAnalysis(), PndSttHelixTrackFitter::ZFinder(), PndSttHelixTrackFitter::ZFinderThroughOrigin(), ZmumuAnalysis(), and ZtautauAnalysis().

134 {
135  return "sqrt("+makefml(pts,exts,2,"+")+")";
136 }
TString makefml(TString pts, TString exts, int ncmp=4, TString last="-")
Definition: invexp.C:89
TString pz ( TString  pts,
TString  exts = "px py pz" 
)

Definition at line 141 of file invexp.C.

References c, prepare(), r, TString, and vars.

142 {
143  StrVec c,vars;
144  bool invord = prepare(pts, exts, c, vars);
145 
146  TString r = "(";
147 
148  for (unsigned int j=0;j<vars.size();++j) invord ? r += c[2]+vars[j] :r += vars[j]+c[2];
149  r += ")";
150 
151  return r;
152 }
double r
Definition: RiemannTest.C:14
TString vars[MAX]
Definition: autocutx.C:34
std::vector< TString > StrVec
bool prepare(TString pts, TString exts, StrVec &c, StrVec &vars)
Definition: invexp.C:60
int SplitString ( TString  s,
TString  delim,
StrVec toks 
)

Definition at line 43 of file invexp.C.

References i, and TString.

Referenced by compress(), dalitz(), getFromCut(), getFromWeightFile(), init(), prepare(), prod_ana(), prod_fsim(), readConfig(), TMVAApply(), TMVATester(), TMVATrainer(), TMVATrainer_608(), and TMVATraining().

44 {
45  toks.clear();
46  TObjArray *tok = s.Tokenize(delim);
47  int N = tok->GetEntries();
48  for (int i=0;i<N;++i)
49  {
50  TString token = (((TObjString*)tok->At(i))->String()).Strip(TString::kBoth);
51  toks.push_back(token);
52  }
53  return toks.size();
54 }
Int_t i
Definition: run_full.C:25
TLorentzVector s
Definition: Pnd2DStar.C:50
TString tht ( TString  pts,
TString  exts = "px py pz" 
)

Definition at line 168 of file invexp.C.

References pt(), pz, and TString.

Referenced by ana_pid(), RhoCalculationTools::P7toPRG(), PndFsmMdtPid::respond(), trapmap_barrel(), and trapmap_disc().

169 {
170  TString tpt = pt(pts,exts);
171  TString tpz = pz(pts,exts);
172 
173  return "atan2("+tpt+","+tpz+")";
174 }
TString pt(TString pts, TString exts="px py pz")
Definition: invexp.C:133
double pz[39]
Definition: pipisigmas.h:14
TString thtd ( TString  pts,
TString  exts = "px py pz" 
)

Definition at line 157 of file invexp.C.

References pt(), pz, and TString.

158 {
159  TString tpt = pt(pts,exts);
160  TString tpz = pz(pts,exts);
161 
162  return "(atan2("+tpt+","+tpz+")*57.3)";
163 }
TString pt(TString pts, TString exts="px py pz")
Definition: invexp.C:133
double pz[39]
Definition: pipisigmas.h:14