5 # include <TParticle.h>
6 # include <TObjArray.h>
41 TH1D* h =
new TH1D(
"dNdy",
"Charged particle-rapidity density",
42 Int_t(2*maxY/dY+.5), -maxY, +maxY);
44 h->SetXTitle(
"\\mathit{y}");
45 h->SetYTitle(
"\\hbox{d}N_{\\hbox{ch}}/\\hbox{d}y");
46 h->SetMarkerColor(kRed+2);
47 h->SetMarkerStyle(20);
57 Info(
"SlaveBegin",
"Making dN/dy histogram");
59 fdNdy->SetMarkerColor(kBlack);
60 fdNdy->SetMarkerStyle(21);
61 fdNdy->SetTitle(GetName());
84 Warning(
"Terminate",
"No events selected");
90 Warning(
"Terminate",
"No dN/deta histogram found");
93 Printf(
"A total of %ld events",
fOK);
94 TH1* copy =
static_cast<TH1*
>(
fdNdy->Clone(
"before"));
109 m1->SetUniqueID(0x8);
133 :
Base(verbose, monitor)
163 :
Base(verbose,monitor)
188 :
Base(verbose,monitor)
217 :
Base(verbose,monitor),
239 fdNdy->SetName(
"cache");
240 fdNdy->SetTitle(
"Cache");
300 Printf(
"Centrality %6.2f-%6.2f (bin %4d) "
301 "Nch=%8.1f/%4.2f=%8.1f out=%s (%d)",
307 Int_t(out->GetBinContent(0)));
311 fdNdy->SetBinContent(0,0);
316 out->SetBinContent(0, out->GetBinContent(0)+1);
329 Warning(
"Terminate",
"No events selected");
347 m3->SetUniqueID(0x8);
379 Double_t bins[]={ 0, 3, 6, 9, 14, 19, 24, 29, 39, 49, 59, 69, 79, 89, 99};
412 if (t.EqualTo(
"INEL"))
return new dNdy::INEL(verbose,monitor);
413 else if (t.EqualTo(
"NSD"))
return new dNdy::NSD(verbose,monitor);
414 else if (t.EqualTo(
"INELGt0"))
return new dNdy::INELGt0(verbose,monitor);
415 else if (t.BeginsWith(
"MULT") || t.BeginsWith(
"CENT")) {
417 if (!(w.BeginsWith(
"RefMult") ||
418 w.BeginsWith(
"ZNA") ||
419 w.BeginsWith(
"ZNC") ||
420 w.BeginsWith(
"ZPA") ||
421 w.BeginsWith(
"ZPC") ||
422 w.BeginsWith(
"V0M") ||
423 w.BeginsWith(
"V0A") ||
424 w.BeginsWith(
"V0C") ||
427 Printf(
"Warning: dNdyMaker::Make: Unknown estimator: %s",
431 if (t.BeginsWith(
"MULT"))
436 Printf(
"Error: dNdyMaker::Run: Invalid spec: %s", t.Data());
445 Printf(
" INEL - inelastic");
446 Printf(
" INELGt0 - inelastic with at least 1 particle in |eta|<1");
447 Printf(
" NSD - Non-single diffractive");
448 Printf(
" CENT<est> - Centrality classes. <est> is one of ");
449 Printf(
" ZNA - ZNA signal");
450 Printf(
" ZNC - ZNC signal");
451 Printf(
" ZPA - ZPA signal");
452 Printf(
" ZPC - ZPC signal");
453 Printf(
" V0M - V0-A + -C");
454 Printf(
" V0A - V0-A");
455 Printf(
" V0C - V0-C");
460 const char*
Script()
const {
return __FILE__; }
468 #pragma link C++ nestedclasses;
469 #pragma link C++ namespace dNdy;
TObject * GetOutputObject(const char *name, TClass *cls)
virtual void Clear(Option_t *option="")
FastShortHeader * fHeader
virtual Bool_t ProcessHeader()
INELGt0(Bool_t verbose=false, Int_t monitor=0)
virtual Bool_t SetupEstimator()
virtual Bool_t ProcessHeader()
virtual TList * GetMonitorObjects()
This script defines classes for looping over the data produced by FastSim.C.
virtual Bool_t SetupEstimator()
void CreateHistos(TCollection *output, TH1D *(*callback)())
virtual void ProcessParticles()
void SetCentAxis(Int_t n, Double_t low, Double_t high)
Base(Bool_t verbose=false, Int_t monitor=0)
virtual Bool_t ProcessHeader()
virtual void SlaveBegin(TTree *)
virtual void SlaveBegin(TTree *t)
static TH1D * CreatedNdy()
Double_t GetCentrality() const
virtual void ProcessParticles()
const char * Script() const
Cent(const char *method="V0M", Bool_t verbose=true, Int_t monitor=0)
virtual TList * GetMonitorObjects()
void CreateDiagnostics(TCollection *output, TH1 *centHist)
Bool_t Finalize(TCollection *output, Long_t minEvents)
Mult(const char *method="RefMult00d80", Bool_t verbose=false, Int_t monitor=0)
Int_t CheckCentrality(Double_t cent, Double_t mult, Double_t b, Double_t nPart, Double_t nBin)
FastAnalysis * Make(const TString &subtype, Int_t monitor, Bool_t verbose, TString &uopt)
INEL(Bool_t verbose=false, Int_t monitor=0)
virtual Bool_t ProcessParticle(const TParticle *p)
Maker(const char *type="")
virtual void Fill(Double_t y)
NSD(Bool_t verbose=false, Int_t monitor=0)
virtual TH1 * CreateSingle()
virtual void Clear(Option_t *option="")
virtual Bool_t ProcessHeader()