1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 ///////////////////////////////////////////////////////////////////////////////
20 // This class creates and fills the monitor histograms for V0s //
22 ///////////////////////////////////////////////////////////////////////////////
25 #include "AliMonitorV0s.h"
26 #include "AliMonitorHisto.h"
33 ClassImp(AliMonitorV0s)
36 //_____________________________________________________________________________
37 AliMonitorV0s::AliMonitorV0s()
39 // create a monitor object for V0s
43 //_____________________________________________________________________________
44 AliMonitorV0s::AliMonitorV0s(const AliMonitorV0s& monitor) :
47 AliFatal("copy constructor not implemented");
50 //_____________________________________________________________________________
51 AliMonitorV0s& AliMonitorV0s::operator = (const AliMonitorV0s& /*monitor*/)
53 AliFatal("assignment operator not implemented");
58 //_____________________________________________________________________________
59 void AliMonitorV0s::CreateHistos(TFolder* folder)
61 // create the V0s monitor histograms
63 fFolder = folder->AddFolder("V0s", "V0s");
65 fRadius = CreateHisto1("Radius", "radius of V0 vertices",
66 90, 0., 3., "r_{xy} [cm]",
67 "#Delta N/N", AliMonitorHisto::kNormEvents);
69 fMassK0 = CreateHisto1("MassK0", "invariant mass of K^{0} candidates",
70 50, 0.4, 0.6, "m_{#pi^{+}#pi^{-}} [GeV/c^{2}]",
71 "#Delta N/N", AliMonitorHisto::kNormEvents);
73 fMassLambda = CreateHisto1("MassLambda",
74 "invariant mass of #Lambda candidates",
75 50, 1.0, 1.2, "m_{p#pi^{-}} [GeV/c^{2}]",
76 "#Delta N/N", AliMonitorHisto::kNormEvents);
78 fMassAntiLambda = CreateHisto1("MassAntiLambda",
79 "invariant mass of #bar{#Lambda} candidates",
81 "m_{#bar{p}#pi^{+}} [GeV/c^{2}]",
82 "#Delta N/N", AliMonitorHisto::kNormEvents);
86 //_____________________________________________________________________________
87 void AliMonitorV0s::FillHistos(AliRunLoader* /*runLoader*/,
88 AliRawReader*, AliESD* esd)
90 // fill the V0s monitor histogrms
92 for (Int_t i = 0; i < esd->GetNumberOfV0s(); i++) {
93 AliESDv0* v0 = esd->GetV0(i);
97 fRadius->Fill(TMath::Sqrt(x*x + y*y));
98 v0->ChangeMassHypothesis(kK0Short);
99 fMassK0->Fill(v0->GetEffMass());
100 v0->ChangeMassHypothesis(kLambda0);
101 fMassLambda->Fill(v0->GetEffMass());
102 v0->ChangeMassHypothesis(kLambda0Bar);
103 fMassAntiLambda->Fill(v0->GetEffMass());