Skip to content

Latest commit

 

History

History
76 lines (72 loc) · 2.26 KB

reference-manual.md

File metadata and controls

76 lines (72 loc) · 2.26 KB

Reference manual for Rivet in ALICE

Booking histograms/profiles

There are several ways to book a histogram:

  • corresponding to HepData
_hist = bookHisto1D("d01-x01-y01");
  • re-using properties from HepData
_hist = bookHisto1D("TMP/test", refData(1, 1, 1));
  • manual
_hist = bookHisto1D("pt_h", 10, 0., 20., "final state particles", "$p_\\perp$", "counts");
_prof = bookProfile1D("cos2phi_pt_h", 10, 0., 20.);

Booking projections

particle level

In order to select all final state particles in a given rapidity range:

      const FinalState fs(-_etamax, _etamax);
      addProjection(fs, "FS");

or if you want to constrain to charged particles:

      const ChargedFinalState cfs(-_etamax, _etamax);
      addProjection(cfs, "CFS");

You can further add a minimum transverse momentum and particle identification:

      IdentifiedFinalState pionfs(-_etamax, _etamax, 0.*GeV);
      pionfs.acceptId(111);
      addProjection(pionfs, "PIONFS");

derived projections

You can also add projections which are derived from a final state, e.g. for multiplicity:

    addProjection(Multiplicity(fs), "Mult");

or for thrust:

    addProjection(Thrust(fs), "Thrust");

jets

In order to add a projection for jets, you first have to add (or re-use) a particle-level projection which serves as input to a jet finder. You can use the jet finders provided with the FastJet package.

      const FinalState fs_jet(-_etamax - _jet_r, _etamax + _jet_r);
      addProjection(fs_jet, "FS_JET");
      FastJets fj02(fs_jet, FastJets::ANTIKT, _jet_r);
      fj02.useInvisibles();
      addProjection(fj02, "Jets02");

and more ...

The list of basic projections can be found under the Hepforge page for Rivet (see References).

Normalisation

You can normalize a given histogram to unity:

    normalize(_h_sin2phi);

You can normalize to the number of events:

      scale(_h_stat, 1. / sumOfWeights());

or to cross section:

      scale(_h_stat, crossSection() / sumOfWeights());

You might have to account for the considered phase space:

      const double fac = crossSection() / (millibarn * sumOfWeights() * 2 * pi * 2 * _etamax);
      scale(_h_pt_jet02, fac);