3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * All rights reserved. *
7 * Primary Authors: Oystein Djuvsland *
9 * Permission to use, copy, modify and distribute this software and its *
10 * documentation strictly for non-commercial purposes is hereby granted *
11 * without fee, provided that the above copyright notice appears in all *
12 * copies and that both the copyright notice and this permission notice *
13 * appear in the supporting documentation. The authors make no claims *
14 * about the suitability of this software for any purpose. It is *
15 * provided "as is" without express or implied warranty. *
16 **************************************************************************/
19 * @file AliHLTPHOSClusterizer.cxx
20 * @author Oystein Djuvsland
22 * @brief Clusterizer for PHOS HLT
25 // see header file for class documentation
27 // refer to README to build package
29 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
31 #include "AliHLTPHOSEmcCalibrationHistogramProducer.h"
32 #include "AliHLTPHOSBase.h"
37 AliHLTPHOSEmcCalibrationHistogramProducer::AliHLTPHOSEmcCalibrationHistogramProducer() :
39 //fChannelEnergyHistogramPtr(0),
40 //fMeanEnergyHistogramPtr(0),
41 //fMaxSignalHistogramPtr(0),
42 //fNHitsHistogramPtr(0),
43 //fLiveChannelHistogramPtr(0),
44 // fBadChannelHistogramPtr(0)
46 //See header file for documentation
49 AliHLTPHOSEmcCalibrationHistogramProducer::~AliHLTPHOSEmcCalibrationHistogramProducer()
51 //See header file for documentation
55 AliHLTPHOSEmcCalibrationHistogramProducer::Reset()
57 //See header file for documentation
61 AliHLTPHOSEmcCalibrationHistogramProducer::FillChannelEnergy(Int_t module, Int_t xCol, Int_t zRow, Int_t gain)
63 //See header file for documentation
67 AliHLTPHOSEmcCalibrationHistogramProducer::FillRCUEnergies(TH1F* rcuChannelEnergyPtr[][N_ZROWS_RCU][N_GAINS], Int_t module, Int_t rcuX, Int_t rcuZ)
69 //See header file for documentation
73 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
75 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
77 for(UInt_t gain = 0; gain < N_GAINS; gain++)
79 sprintf(histName, "mod%dcol%drow%dgain%d", module, x, z, gain);
80 *fChannelEnergyHistogramPtr[module][x+rcuX*N_XCOLUMNS_RCU][z+rcuZ*N_ZROWS_RCU][gain] = (TH1F*)rcuChannelEnergyPtr[x][z][gain]->Clone(histName);
87 AliHLTPHOSEmcCalibrationHistogramProducer::FillBadChannels(TH2F* rcuBadChannelHistPtr[], Int_t module)
89 //See header file for documentation
94 AliHLTPHOSEmcCalibrationHistogramProducer::GetChannelEnergyHistogram(Int_t module, Int_t xCol, Int_t zRow, Int_t gain)
96 //See header file for documentation
97 return fChannelEnergyHistogramPtr[module][xCol][zRow][gain];
101 AliHLTPHOSEmcCalibrationHistogramProducer::GetMeanEnergyHistogram(Int_t module, Int_t gain)
103 //See header file for documentation
104 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
106 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
108 fMeanEnergyHistogramPtr->SetBinContent(x, z, fChannelEnergyHistogramPtr[module][x][z][gain]->GetMean());
114 AliHLTPHOSEmcCalibrationHistogramProducer::GetMaxSignalHistogram(Int_t module, Int_t gain)
116 //See header file for documentation
117 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
119 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
121 fMaxSignalHistogramPtr->SetBinContent(x, z, fChannelEnergyHistogramPtr[module][x][z][gain]->GetMaximum());
127 AliHLTPHOSEmcCalibrationHistogramProducer::GetNHitsHistogram(Int_t module, Int_t gain)
129 //See header file for documentation
130 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
132 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
140 AliHLTPHOSEmcCalibrationHistogramProducer::GetLiveChannelHistogram(Int_t module, Int_t gain, Float_t minSignal = 30)
142 //See header file for documentation
147 AliHLTPHOSEmcCalibrationHistogramProducer::GetBadChannelHistogram(Int_t module, Int_t gain)
149 //See header file for documentation