Fork me on GitHub

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • modules/Isolation.cc

    r341014c r65dc4e7  
    1717 */
    1818
     19
    1920/** \class Isolation
    2021 *
     
    3435#include "classes/DelphesFormula.h"
    3536
     37#include "ExRootAnalysis/ExRootResult.h"
     38#include "ExRootAnalysis/ExRootFilter.h"
    3639#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"
    4046#include "TDatabasePDG.h"
    41 #include "TFormula.h"
    4247#include "TLorentzVector.h"
    43 #include "TMath.h"
    44 #include "TObjArray.h"
    45 #include "TRandom3.h"
    46 #include "TString.h"
    4748
    4849#include <algorithm>
     50#include <stdexcept>
    4951#include <iostream>
    5052#include <sstream>
    51 #include <stdexcept>
    5253
    5354using namespace std;
     
    5859{
    5960public:
     61
    6062  IsolationClassifier() {}
    6163
     
    6971Int_t IsolationClassifier::GetCategory(TObject *object)
    7072{
    71   Candidate *track = static_cast<Candidate *>(object);
     73  Candidate *track = static_cast<Candidate*>(object);
    7274  const TLorentzVector &momentum = track->Momentum;
    7375
     
    169171  // loop over all input jets
    170172  fItCandidateInputArray->Reset();
    171   while((candidate = static_cast<Candidate *>(fItCandidateInputArray->Next())))
     173  while((candidate = static_cast<Candidate*>(fItCandidateInputArray->Next())))
    172174  {
    173175    const TLorentzVector &candidateMomentum = candidate->Momentum;
     
    179181    {
    180182      fItRhoInputArray->Reset();
    181       while((object = static_cast<Candidate *>(fItRhoInputArray->Next())))
     183      while((object = static_cast<Candidate*>(fItRhoInputArray->Next())))
    182184      {
    183185        if(eta >= object->Edges[0] && eta < object->Edges[1])
     
    196198
    197199    itIsolationArray.Reset();
    198     while((isolation = static_cast<Candidate *>(itIsolationArray.Next())))
     200    while((isolation = static_cast<Candidate*>(itIsolationArray.Next())))
    199201    {
    200202      const TLorentzVector &isolationMomentum = isolation->Momentum;
     
    202204      if(fUseMiniCone)
    203205      {
    204         pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax && candidateMomentum.DeltaR(isolationMomentum) > fDeltaRMin;
     206         pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax &&
     207         candidateMomentum.DeltaR(isolationMomentum) > fDeltaRMin;
    205208      }
    206209      else
    207210      {
    208         pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax && candidate->GetUniqueID() != isolation->GetUniqueID();
     211         pass = candidateMomentum.DeltaR(isolationMomentum) <= fDeltaRMax &&
     212         candidate->GetUniqueID() != isolation->GetUniqueID();
    209213      }
    210214
     
    229233        }
    230234      }
     235
    231236    }
    232237
    233     // find rho
     238   // find rho
    234239    rho = 0.0;
    235240    if(fRhoInputArray)
    236241    {
    237242      fItRhoInputArray->Reset();
    238       while((object = static_cast<Candidate *>(fItRhoInputArray->Next())))
     243      while((object = static_cast<Candidate*>(fItRhoInputArray->Next())))
    239244      {
    240245        if(eta >= object->Edges[0] && eta < object->Edges[1])
     
    245250    }
    246251
     252
     253
    247254    // 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();
    252259
    253260    candidate->IsolationVar = ratioDBeta;
Note: See TracChangeset for help on using the changeset viewer.