1 /**************************************************************************
2 * This file is property of and copyright by the ALICE HLT Project *
3 * All rights reserved. *
5 * Primary Authors: Svein Lindal <slindal@fys.uio.no> *
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 **************************************************************************/
17 * @file AliHLTCaloHistoClusterEnergy
18 * @author Svein Lindal
20 * @brief Produces histograms of cluster energy distributions
23 // see header file for class documentation
25 // refer to README to build package
27 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
29 #include "AliHLTCaloHistoClusterEnergy.h"
30 #include "AliESDCaloCluster.h"
31 #include "AliHLTCaloClusterDataStruct.h"
34 #include "TRefArray.h"
36 ClassImp(AliHLTCaloHistoClusterEnergy);
38 AliHLTCaloHistoClusterEnergy::AliHLTCaloHistoClusterEnergy(TString det) :
39 AliHLTCaloHistoProducer(),
40 fHistClusterEnergy(NULL),
41 fHistClusterEnergyVsNCells(NULL)
43 // See header file for documentation
44 fHistClusterEnergy = new TH1F(Form("%s fHistClusterEnergy", det.Data()), Form("%s Distribution of total energy in clusters", det.Data()), 5000, 0, 100);
45 fHistClusterEnergy->GetXaxis()->SetTitle("E GeV");
46 fHistClusterEnergy->GetYaxis()->SetTitle("Number of counts");
47 fHistArray->AddLast(fHistClusterEnergy);
49 fHistClusterEnergyVsNCells = new TH2F(Form("%s fHistClusterEnergyVsNCells", det.Data()), Form("%s Distribution of Energy vs Number of Cells in cluster", det.Data()), 1000, 0, 100, 50, 0 , 50);
50 fHistClusterEnergyVsNCells->GetXaxis()->SetTitle("Energy in cluster (GeV)");
51 fHistClusterEnergyVsNCells->GetYaxis()->SetTitle("Number of Cells in cluster");
52 fHistArray->AddLast(fHistClusterEnergyVsNCells);
56 AliHLTCaloHistoClusterEnergy::~AliHLTCaloHistoClusterEnergy()
59 if(fHistClusterEnergy)
60 delete fHistClusterEnergy;
61 fHistClusterEnergy = NULL;
63 if(fHistClusterEnergyVsNCells)
64 delete fHistClusterEnergyVsNCells;
65 fHistClusterEnergyVsNCells = NULL;
68 Int_t AliHLTCaloHistoClusterEnergy::FillHistograms(Int_t nc, TRefArray * clusterArray) {
69 //See header file for documentation
71 for(int ic = 0; ic < nc; ic++) {
72 AliESDCaloCluster * cluster = static_cast<AliESDCaloCluster*>(clusterArray->At(ic));
73 FillClusterEnergyHistos(cluster);
78 Int_t AliHLTCaloHistoClusterEnergy::FillHistograms(Int_t nc, vector<AliHLTCaloClusterDataStruct*> &cVec) {
79 //See header file for documentation
81 for(int ic = 0; ic < nc; ic++) {
82 AliHLTCaloClusterDataStruct * cluster = cVec.at(ic);
83 FillClusterEnergyHistos(cluster);
89 Int_t AliHLTCaloHistoClusterEnergy::FillClusterEnergyHistos(T* cluster) {
90 fHistClusterEnergy->Fill(cluster->E());
91 fHistClusterEnergyVsNCells->Fill(cluster->E(), cluster->GetNCells());