Rivet analyses


title: ATLAS_2012_I946427

Search for supersymmetry with diphotons and missing transverse momentum

Experiment: ATLAS (LHC)

Inspire ID: 946427

Status: OBSOLETE

Authors: - Peter Richardson

References: - arXiv: 1111.4116 - Phys. Lett. B710 (2012) 519-537

Beams: p+ p+

Beam energies: (3500.0, 3500.0)GeV

Run details: - BSM signal events at 7000 GeV.

Search for diphoton events with large missing transverse momentum with integrated luminosity 1.07$\text{fb}^{-1}$ at $\sqrt{s}=7$. No excess of events was observed.

Source code:ATLAS_2012_I946427.cc

```c++ // -- C++ --

include "Rivet/Analysis.hh"

include "Rivet/Projections/ChargedFinalState.hh"

include "Rivet/Projections/FastJets.hh"

include "Rivet/Projections/FinalState.hh"

include "Rivet/Projections/IdentifiedFinalState.hh"

include "Rivet/Projections/VetoedFinalState.hh"

include "Rivet/Projections/VisibleFinalState.hh"

namespace Rivet {

/// @author Peter Richardson class ATLAS_2012_I946427 : public Analysis { public:

/// @name Constructors etc.
/// @{

/// Constructor
ATLAS_2012_I946427()
    : Analysis("ATLAS_2012_I946427") { }

/// @}

public:

/// @name Analysis methods
/// @{

/// Book histograms and initialise projections before the run
void init() {

  // photons
  IdentifiedFinalState photonfs(Cuts::abseta < 1.81 && Cuts::pT > 25 * GeV);
  photonfs.acceptId(PID::PHOTON);
  declare(photonfs, "Photon");

  //
  FinalState fs;
  declare(fs, "FS");

  // Used for pTmiss
  declare(VisibleFinalState(Cuts::abseta < 4.9), "vfs");

  // Book histograms
  book(_count_SR, "count_SR", 1, 0., 1.);

  book(_hist_ET_photon, "hist_ET_photon", 48, 20., 500.);
  book(_hist_met, "hist_met", 100, 0., 500.);
}


/// Perform the per-event analysis
void analyze(const Event& event) {


  // require at least 2 photons in final state
  Particles photons = apply<IdentifiedFinalState>(event, "Photon").particlesByPt();
  if (photons.size() < 2) {
    vetoEvent;
  }

  // Loop over photons and fill vector of isolated ones
  Particles fs = apply<FinalState>(event, "FS").particles();
  Particles isolated_photons;
  for (const Particle& photon : photons) {
    // remove photons in crack
    double eta_P = photon.eta();
    if (fabs(eta_P) >= 1.37 && fabs(eta_P) < 1.52) continue;

    double phi_P = photon.phi();

    FourMomentum mom_in_EtCone = -photon.momentum();
    for (const Particle& p : fs) {
      // check if it's in the cone of .2
      if (deltaR(eta_P, phi_P, p.eta(), p.phi()) >= 0.2) continue;
      mom_in_EtCone += p.momentum();
    }
    // apply isolation
    if (mom_in_EtCone.Et() > 5.) continue;

    // add photon to list of isolated ones
    isolated_photons.push_back(photon);
  }

  // need two isolated photons
  if (isolated_photons.size() < 2) {
    vetoEvent;
  }

  // pTmiss
  Particles vfs_particles = apply<VisibleFinalState>(event, "vfs").particles();
  FourMomentum pTmiss;
  for (const Particle& p : vfs_particles) {
    pTmiss -= p.momentum();
  }
  double eTmiss = pTmiss.pT();

  _hist_ET_photon->fill(isolated_photons[0].Et());
  _hist_met->fill(eTmiss);

  if (eTmiss > 125.) _count_SR->fill(0.5);
}


void finalize() {

  double norm = crossSection() / femtobarn * 1.07 / sumOfWeights();
  // these are number of events at 1.07fb^-1 per 10 GeV
  scale(_hist_ET_photon, 10. * norm);
  // these are number of events at 1.07fb^-1 per  5 GeV
  scale(_hist_met, 5. * norm);
  // these are number of events at 1.07fb^-1
  scale(_count_SR, norm);
}

/// @}

private:

Histo1DPtr _count_SR;
Histo1DPtr _hist_ET_photon;
Histo1DPtr _hist_met;

};

RIVET_DECLARE_PLUGIN(ATLAS_2012_I946427);

} ```