Rivet analyses

ALICE proton-lead centrality calibration analysis.

Experiment: ()

Status: UNVALIDATED

Authors: - Christian Bierlich

References: - Phys.Lett.B728(2014)25-38,arXiv:1307.6796

Beams: * *

Beam energies: ANY

Run details: - Any!

Calibration analysis for ALICE pPb centrality. The centrality measure is multiplicity in VO-A ie. in the lead direction. No reference data is given, as the spectrum is not possible to unfold.

Source code:ALICE_2015_CENT_PPB.cc

// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Analyses/AliceCommon.hh"
#include "Rivet/Projections/ImpactParameterProjection.hh"

namespace Rivet {


  /// Generic analysis looking at various distributions of final state particles
  class ALICE_2015_CENT_PPB : public Analysis {

  public:

    RIVET_DEFAULT_ANALYSIS_CTOR(ALICE_2015_CENT_PPB);

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

      // One projection for the actual observable, and one for the
      // generated impact parameter.
      declare(ALICE::V0AMultiplicity(), "V0A");
      declare(ImpactParameterProjection(), "IMP");
      declare(ALICE::V0AndTrigger(), "Trigger");

      // The calibration histogram:
      book(_calib, "V0A", 100, 0.0, 500.0);


      // The alternative histogram based on impact parameter. Note that
      // it MUST be named the same as the histogram for the experimental
      // observable with an added _IMP suffix.
      book(_impcalib, "V0A_IMP", 400, 0.0, 20.0);
    }

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

      // The alternative centrality based on generated impact
      // parameter, assumes that the generator does not describe the
      // full final state, and should therefore be filled even if the
      // event is not triggered.
      _impcalib->fill(apply<SingleValueProjection>(event, "IMP")());

      if (!apply<ALICE::V0AndTrigger>(event, "Trigger")()) vetoEvent;

      _calib->fill(apply<ALICE::V0AMultiplicity>(event, "V0A")());
    }


    /// Finalize
    void finalize() {

      _calib->normalize();
      _impcalib->normalize();
    }

  private:

    /// The calibration histograms.
    Histo1DPtr _calib;
    Histo1DPtr _impcalib;
  };


  RIVET_DECLARE_PLUGIN(ALICE_2015_CENT_PPB);

}