Changeset f298e48 in git
- Timestamp:
- Mar 22, 2020, 6:39:09 PM (5 years ago)
- Branches:
- ImprovedOutputFile, master
- Children:
- 7e83689
- Parents:
- 288a5fc
- git-author:
- Roberto Preghenella <preghenella@…> (03/22/20 16:32:29)
- git-committer:
- Roberto Preghenella <preghenella@…> (03/22/20 18:39:09)
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
classes/DelphesFormula.cc
r288a5fc rf298e48 18 18 19 19 #include "classes/DelphesFormula.h" 20 #include "classes/DelphesClasses.h" 20 21 21 22 #include "TString.h" … … 63 64 buffer.ReplaceAll("dz", "[1]"); 64 65 buffer.ReplaceAll("ctgTheta", "[2]"); 66 buffer.ReplaceAll("radius", "[3]"); 65 67 66 68 #if ROOT_VERSION_CODE < ROOT_VERSION(6, 3, 0) … … 77 79 //------------------------------------------------------------------------------ 78 80 79 Double_t DelphesFormula::Eval(Double_t pt, Double_t eta, Double_t phi, 80 Double_t energy, Double_t d0, Double_t dz, 81 Double_t ctgTheta) 81 Double_t DelphesFormula::Eval(Double_t pt, Double_t eta, Double_t phi, Double_t energy, Candidate *candidate) 82 82 { 83 84 Double_t d0 = 0., dz = 0., ctgTheta = 0., radius = 0.; 85 if (candidate) { 86 d0 = candidate->D0; 87 dz = candidate->DZ; 88 ctgTheta = candidate->CtgTheta; 89 radius = candidate->Position.Pt(); 90 } 91 83 92 Double_t x[4] = {pt, eta, phi, energy}; 84 Double_t params[ 3] = {d0, dz, ctgTheta};93 Double_t params[4] = {d0, dz, ctgTheta, radius}; 85 94 return EvalPar(x, params); 86 95 } -
classes/DelphesFormula.h
r288a5fc rf298e48 22 22 #include "TFormula.h" 23 23 24 class Candidate; 25 24 26 class DelphesFormula: public TFormula 25 27 { … … 33 35 Int_t Compile(const char *expression); 34 36 35 Double_t Eval(Double_t pt, Double_t eta = 0, Double_t phi = 0, 36 Double_t energy = 0, Double_t d0 = 0, Double_t dz = 0, 37 Double_t ctgTheta = 0); 37 Double_t Eval(Double_t pt, Double_t eta = 0, Double_t phi = 0, Double_t energy = 0, Candidate *candidate = nullptr); 38 38 }; 39 39 -
modules/AngularSmearing.cc
r288a5fc rf298e48 112 112 // apply smearing formula for eta,phi 113 113 114 eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e ));115 phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e ));114 eta = gRandom->Gaus(eta, fFormulaEta->Eval(pt, eta, phi, e, candidate)); 115 phi = gRandom->Gaus(phi, fFormulaPhi->Eval(pt, eta, phi, e, candidate)); 116 116 117 117 if(pt <= 0.0) continue; -
modules/Efficiency.cc
r288a5fc rf298e48 95 95 { 96 96 Candidate *candidate; 97 Double_t pt, eta, phi, e , d0, dz, ctgTheta;97 Double_t pt, eta, phi, e; 98 98 99 99 fItInputArray->Reset(); … … 106 106 pt = candidateMomentum.Pt(); 107 107 e = candidateMomentum.E(); 108 d0 = candidate->D0; 109 dz = candidate->DZ; 110 ctgTheta = candidate->CtgTheta; 111 108 112 109 // apply an efficency formula 113 if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, d0, dz, ctgTheta)) continue;110 if(gRandom->Uniform() > fFormula->Eval(pt, eta, phi, e, candidate)) continue; 114 111 115 112 fOutputArray->Add(candidate); -
modules/MomentumSmearing.cc
r288a5fc rf298e48 106 106 pt = candidateMomentum.Pt(); 107 107 e = candidateMomentum.E(); 108 res = fFormula->Eval(pt, eta, phi, e );108 res = fFormula->Eval(pt, eta, phi, e, candidate); 109 109 110 110 // apply smearing formula -
modules/TrackSmearing.cc
r288a5fc rf298e48 158 158 TLorentzVector beamSpotPosition; 159 159 Candidate *candidate, *mother; 160 Double_t pt, eta, d0, d0Error, trueD0, dz, dzError, trueDZ, p, pError, trueP, ctgTheta, ctgThetaError, trueCtgTheta, phi, phiError, truePhi;160 Double_t pt, eta, e, d0, d0Error, trueD0, dz, dzError, trueDZ, p, pError, trueP, ctgTheta, ctgThetaError, trueCtgTheta, phi, phiError, truePhi; 161 161 Double_t x, y, z, t, px, py, pz, theta; 162 162 Double_t q, r; … … 223 223 pt = momentum.Pt(); 224 224 eta = momentum.Eta(); 225 225 e = momentum.E(); 226 226 227 d0 = trueD0 = candidate->D0; 227 228 dz = trueDZ = candidate->DZ; … … 232 233 233 234 if(fUseD0Formula) 234 d0Error = fD0Formula->Eval(pt, eta );235 d0Error = fD0Formula->Eval(pt, eta, phi, e, candidate); 235 236 else 236 237 { … … 247 248 248 249 if(fUseDZFormula) 249 dzError = fDZFormula->Eval(pt, eta );250 dzError = fDZFormula->Eval(pt, eta, phi, e, candidate); 250 251 else 251 252 { … … 262 263 263 264 if(fUsePFormula) 264 pError = fPFormula->Eval(pt, eta ) * p;265 pError = fPFormula->Eval(pt, eta, phi, e, candidate) * p; 265 266 else 266 267 { … … 277 278 278 279 if(fUseCtgThetaFormula) 279 ctgThetaError = fCtgThetaFormula->Eval(pt, eta );280 ctgThetaError = fCtgThetaFormula->Eval(pt, eta, phi, e, candidate); 280 281 else 281 282 { … … 292 293 293 294 if(fUsePhiFormula) 294 phiError = fPhiFormula->Eval(pt, eta );295 phiError = fPhiFormula->Eval(pt, eta, phi, e, candidate); 295 296 else 296 297 {
Note:
See TracChangeset
for help on using the changeset viewer.