Fork me on GitHub

Changeset 157fe13 in git


Ignore:
Timestamp:
Jan 12, 2022, 8:20:47 PM (3 years ago)
Author:
christinaw97 <christina.wang@…>
Children:
4aec383
Parents:
d1ab205
Message:

LLPFilter hard-coded decay region requirements are moved to configuration cards

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cards/delphes_card_CMS_CSCCluster.tcl

    rd1ab205 r157fe13  
    411411  set InputArray Delphes/allParticles
    412412  set OutputArray LLP
    413   # DecayRegion = 0: no cuts on decay region
    414   # DecayRegion = 1: select LLP that decays in CSC volume
    415   # DecayRegion = 2: select LLP that decays outside of calorimeters, for genMET calculation
    416   set DecayRegion 1
     413
     414  # CMS CSC region
     415  # used detector geometry in Figure 4.1.1, page141 from CERN-LHCC-97-032: https://cds.cern.ch/record/343814?ln=en
     416
     417  set RequireDecayRegion true
     418  set DecayRegionRMax 6955
     419  set DecayRegionRMin 0
     420  set DecayRegionZMax 11000
     421  set DecayRegionZMin 4000
     422  set DecayRegionEtaMax 2
     423  set DecayRegionEtaMin 0
     424
    417425  set RequireStatus false
    418426  add PdgCode {1500001}
     
    424432  set InputArray Delphes/allParticles
    425433  set OutputArray LLP
    426   # DecayRegion = 0: no cuts on decay region
    427   # DecayRegion = 1: select LLP that decays in CSC volume
    428   # DecayRegion = 2: select LLP that decays outside of calorimeters, for genMET calculation
    429   set DecayRegion 0
     434  set RequireDecayRegion false
     435
     436
    430437  set RequireStatus false
    431438  add PdgCode {1500001}
  • modules/LLPFilter.cc

    rd1ab205 r157fe13  
    2222 *  The classification of EM and hadronic energy of LLP is based on instructions from the HEPData entry for the CMS paper searching
    2323 *  for neutral LLPs in the CMS endcap muon detectors: https://www.hepdata.net/record/104408
     24 *  Muons and neutrinos are ignored. Photons, electrons, and pi0 are EM energy and everything else is hadronic energy.
    2425 *
    2526 *  \author Christina Wang
     
    7778
    7879  fInvert = GetBool("Invert", false);
    79   fDecayRegion = GetInt("DecayRegion", 0);
    8080  fDaughterNumber = GetInt("DaughterNumber", 0);
    81 
     81  fRequireDecayRegion = GetBool("RequireDecayRegion", 0);
     82
     83  fDecayRegionRMax = GetInt("DecayRegionRMax", 0); //mm
     84  fDecayRegionRMin = GetInt("DecayRegionRMin", 0); //mm
     85  fDecayRegionZMax = GetInt("DecayRegionZMax", 0); //mm
     86  fDecayRegionZMin = GetInt("DecayRegionZMin", 0); //mm
     87  fDecayRegionEtaMax = GetInt("DecayRegionEtaMax", 0); // requirement on abs(eta)
     88  fDecayRegionEtaMin = GetInt("DecayRegionEtaMin", 0); //requirement on abs(eta)
    8289
    8390
     
    148155    const TLorentzVector &candidateProdPosition = candidate->Position;
    149156    const TLorentzVector &candidateDecayPosition = candidate->DecayPosition;
    150     // TLorentzVector candidateDecayPosition;
    151157    pt = candidateMomentum.Pt();
    152158    eta = candidateMomentum.Eta();
     
    184190      if (tempCandidate->M1 == -1) continue;
    185191
    186       // candidateDecayPosition = daughter->Position;
    187 
     192      // assign LLP EM or hadronic energy, depending on the daughter ID
    188193      if (abs(daughterPdg)==11 || abs(daughterPdg)==22 || abs(daughterPdg)==111)candidate->Eem += daughterMomentum.E();
    189194      else candidate->Ehad += daughterMomentum.E();
    190195    }
    191196
    192     // used detector geometry in Figure 4.1.1, page141 from CERN-LHCC-97-032: https://cds.cern.ch/record/343814?ln=en
    193     // decayRegion = 0: no cuts on decay region
    194     // decayRegion = 1: select LLP that decays in CSC volume
    195     // decayRegion = 2: select LLP that decays outside of calorimeters
    196     if (fDecayRegion == 1)
     197    if (fRequireDecayRegion)
    197198    {
    198       if (abs(eta) < 2
    199          && abs(candidateDecayPosition.Z())<11000 && abs(candidateDecayPosition.Z())>4000
    200          && sqrt(pow(candidateDecayPosition.X(),2)+pow(candidateDecayPosition.Y(),2)) < 6955)
     199      if (abs(eta) < fDecayRegionEtaMax && abs(eta) > fDecayRegionEtaMin
     200         && abs(candidateDecayPosition.Z()) < fDecayRegionZMax && abs(candidateDecayPosition.Z()) > fDecayRegionZMin
     201         && sqrt(pow(candidateDecayPosition.X(),2)+pow(candidateDecayPosition.Y(),2)) < fDecayRegionRMax
     202         && sqrt(pow(candidateDecayPosition.X(),2)+pow(candidateDecayPosition.Y(),2)) > fDecayRegionRMin)
    201203      {
    202204        fOutputArray->Add(candidate);
     
    204206
    205207    }
    206     else if(fDecayRegion == 2)
    207     {
    208       if (abs(candidateDecayPosition.Z()) > 5680 && sqrt(pow(candidateDecayPosition.X(),2)+pow(candidateDecayPosition.Y(),2)) > 3000)
    209       {
    210         fOutputArray->Add(candidate);
    211       }
    212     }
    213208    else{
    214209      fOutputArray->Add(candidate);
  • modules/LLPFilter.h

    rd1ab205 r157fe13  
    5151private:
    5252  Double_t fPTMin; //!
    53   Int_t fDecayRegion;
     53  Bool_t fRequireDecayRegion;
     54  Int_t fDecayRegionRMax;
     55  Int_t fDecayRegionRMin;
     56  Int_t fDecayRegionZMax;
     57  Int_t fDecayRegionZMin;
     58  Int_t fDecayRegionEtaMax;
     59  Int_t fDecayRegionEtaMin;
    5460  Int_t fDaughterNumber;
    5561  Bool_t fInvert; //!
Note: See TracChangeset for help on using the changeset viewer.