Changes in modules/Isolation.cc [341014c:65dc4e7] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/Isolation.cc
r341014c r65dc4e7 17 17 */ 18 18 19 19 20 /** \class Isolation 20 21 * … … 34 35 #include "classes/DelphesFormula.h" 35 36 37 #include "ExRootAnalysis/ExRootResult.h" 38 #include "ExRootAnalysis/ExRootFilter.h" 36 39 #include "ExRootAnalysis/ExRootClassifier.h" 37 #include "ExRootAnalysis/ExRootFilter.h" 38 #include "ExRootAnalysis/ExRootResult.h" 39 40 41 #include "TMath.h" 42 #include "TString.h" 43 #include "TFormula.h" 44 #include "TRandom3.h" 45 #include "TObjArray.h" 40 46 #include "TDatabasePDG.h" 41 #include "TFormula.h"42 47 #include "TLorentzVector.h" 43 #include "TMath.h"44 #include "TObjArray.h"45 #include "TRandom3.h"46 #include "TString.h"47 48 48 49 #include <algorithm> 50 #include <stdexcept> 49 51 #include <iostream> 50 52 #include <sstream> 51 #include <stdexcept>52 53 53 54 using namespace std; … … 58 59 { 59 60 public: 61 60 62 IsolationClassifier() {} 61 63 … … 69 71 Int_t IsolationClassifier::GetCategory(TObject *object) 70 72 { 71 Candidate *track = static_cast<Candidate 73 Candidate *track = static_cast<Candidate*>(object); 72 74 const TLorentzVector &momentum = track->Momentum; 73 75 … … 169 171 // loop over all input jets 170 172 fItCandidateInputArray->Reset(); 171 while((candidate = static_cast<Candidate 173 while((candidate = static_cast<Candidate*>(fItCandidateInputArray->Next()))) 172 174 { 173 175 const TLorentzVector &candidateMomentum = candidate->Momentum; … … 179 181 { 180 182 fItRhoInputArray->Reset(); 181 while((object = static_cast<Candidate 183 while((object = static_cast<Candidate*>(fItRhoInputArray->Next()))) 182 184 { 183 185 if(eta >= object->Edges[0] && eta < object->Edges[1]) … … 196 198 197 199 itIsolationArray.Reset(); 198 while((isolation = static_cast<Candidate 200 while((isolation = static_cast<Candidate*>(itIsolationArray.Next()))) 199 201 { 200 202 const TLorentzVector &isolationMomentum = isolation->Momentum; … … 202 204 if(fUseMiniCone) 203 205 { 204 pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax && candidateMomentum.DeltaR(isolationMomentum) > fDeltaRMin; 206 pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax && 207 candidateMomentum.DeltaR(isolationMomentum) > fDeltaRMin; 205 208 } 206 209 else 207 210 { 208 pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax && candidate->GetUniqueID() != isolation->GetUniqueID(); 211 pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax && 212 candidate->GetUniqueID() != isolation->GetUniqueID(); 209 213 } 210 214 … … 229 233 } 230 234 } 235 231 236 } 232 237 233 238 // find rho 234 239 rho = 0.0; 235 240 if(fRhoInputArray) 236 241 { 237 242 fItRhoInputArray->Reset(); 238 while((object = static_cast<Candidate 243 while((object = static_cast<Candidate*>(fItRhoInputArray->Next()))) 239 244 { 240 245 if(eta >= object->Edges[0] && eta < object->Edges[1]) … … 245 250 } 246 251 252 253 247 254 // correct sum for pile-up contamination 248 sumDBeta = sumChargedNoPU + TMath::Max(sumNeutral - 0.5 *sumChargedPU, 0.0);249 sumRhoCorr = sumChargedNoPU + TMath::Max(sumNeutral - TMath::Max(rho, 0.0) * fDeltaRMax * fDeltaRMax *TMath::Pi(), 0.0);250 ratioDBeta = sumDBeta /candidateMomentum.Pt();251 ratioRhoCorr = sumRhoCorr /candidateMomentum.Pt();255 sumDBeta = sumChargedNoPU + TMath::Max(sumNeutral - 0.5*sumChargedPU, 0.0); 256 sumRhoCorr = sumChargedNoPU + TMath::Max(sumNeutral - TMath::Max(rho, 0.0)*fDeltaRMax*fDeltaRMax*TMath::Pi(), 0.0); 257 ratioDBeta = sumDBeta/candidateMomentum.Pt(); 258 ratioRhoCorr = sumRhoCorr/candidateMomentum.Pt(); 252 259 253 260 candidate->IsolationVar = ratioDBeta;
Note:
See TracChangeset
for help on using the changeset viewer.