Rivet analyses referenceBRAHMS_2004_CENT_AUAUBRAHMS AuAu centrality calibration analysis.Experiment: () Status: UNVALIDATED Authors:
Beam energies: ANY Run details:
Calibration analysis for BRAHMS AuAu centrality. The centrality number of charged particles at mid-rapidity. No reference yoda file. Source code: BRAHMS_2004_CENT_AUAU.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/SingleValueProjection.hh"
4#include "Rivet/Projections/ImpactParameterProjection.hh"
5#include "Rivet/Projections/FinalState.hh"
6#include "Rivet/Projections/UnstableParticles.hh"
7#include "Rivet/Projections/ChargedFinalState.hh"
8#include "Rivet/Analyses/RHICCommon.hh"
9
10namespace Rivet {
11
12
13 /// @brief Brahms centrality calibration analysis based on the BrahmsCentrality projection.
14 ///
15 /// No data is given for this analysis, so one MUST do a calibration run.
16 class BRAHMS_2004_CENT_AUAU : public Analysis {
17 public:
18
19 // Constructor
20 BRAHMS_2004_CENT_AUAU() : Analysis("BRAHMS_2004_CENT_AUAU") {}
21
22
23 // Initialize the analysis
24 void init() {
25 declare(BRAHMSCentrality(),"Centrality");
26 declare(ImpactParameterProjection(), "IMP");
27
28 // The central multiplicity.
29 book(mult, "mult",450,0,4500);
30
31 // The impact parameter.
32 book(imp, "mult_IMP",100,0,20);
33 }
34
35
36 // Analyse a single event
37 void analyze(const Event& event) {
38 // Fill impact parameter.
39 imp->fill(apply<SingleValueProjection>(event,"IMP")());
40 // Fill multiplicity.
41 mult->fill(apply<SingleValueProjection>(event,"Centrality")());
42 }
43
44 // Finalize the analysis
45 void finalize() {
46 // Normalize the distributions, safeguarding against
47 // yoda normalization error.
48 if (mult->numEntries() > 0) mult->normalize();
49 if (imp->numEntries() > 0) imp->normalize();
50 }
51
52
53 private:
54
55 // Histograms.
56 Histo1DPtr mult;
57 Histo1DPtr imp;
58
59 };
60
61
62 RIVET_DECLARE_PLUGIN(BRAHMS_2004_CENT_AUAU);
63
64 }
|