Rivet analyses referenceBRAHMS_2004_AUAUCentralityBRAHMS 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_AUAUCentrality.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/Tools/RHICCommon.hh"
9
10namespace Rivet {
11 /// @brief Brahms centrality calibration analysis based on the
12 // BrahmsCentrality projection. No data is given for this
13 // analysis, so one MUST do a calibration run.
14 class BRAHMS_2004_AUAUCentrality : public Analysis {
15 public:
16 // Constructor
17 BRAHMS_2004_AUAUCentrality() : Analysis("BRAHMS_2004_AUAUCentrality") {}
18
19 // Initialize the analysis
20 void init() {
21 declare(BRAHMSCentrality(),"Centrality");
22 declare(ImpactParameterProjection(), "IMP");
23
24 // The central multiplicity.
25 book(mult, "mult",450,0,4500);
26
27 // The impact parameter.
28 book(imp, "mult_IMP",100,0,20);
29 }
30
31 // Analyse a single event
32 void analyze(const Event& event) {
33 // Fill impact parameter.
34 imp->fill(apply<SingleValueProjection>(event,"IMP")());
35 // Fill multiplicity.
36 mult->fill(apply<SingleValueProjection>(event,"Centrality")());
37 }
38
39 // Finalize the analysis
40 void finalize() {
41 // Normalize the distributions, safeguarding against
42 // yoda normalization error.
43 if(mult->numEntries() > 0) mult->normalize();
44 if(imp->numEntries() > 0) imp->normalize();
45
46 }
47
48 private:
49 // Histograms.
50 Histo1DPtr mult;
51 Histo1DPtr imp;
52
53 };
54 // The hook for the plugin system
55 RIVET_DECLARE_PLUGIN(BRAHMS_2004_AUAUCentrality);
56
57 }
|