1 /**************************************************************************
2 * This file is property of and copyright by the ALICE HLT Project *
3 * All rights reserved. *
5 * Primary Authors: Oystein Djuvsland *
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 AliHLTPHOSClusterizer.cxx
18 * @author Oystein Djuvsland
20 * @brief Clusterizer for PHOS HLT
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 "AliHLTPHOSEmcCalibrationHistogramProducer.h"
30 #include "AliHLTPHOSBase.h"
35 AliHLTPHOSEmcCalibrationHistogramProducer::AliHLTPHOSEmcCalibrationHistogramProducer() :
37 //fChannelEnergyHistogramPtr(0),
38 //fMeanEnergyHistogramPtr(0),
39 //fMaxSignalHistogramPtr(0),
40 //fNHitsHistogramPtr(0),
41 //fLiveChannelHistogramPtr(0),
42 // fBadChannelHistogramPtr(0)
44 //See header file for documentation
47 AliHLTPHOSEmcCalibrationHistogramProducer::~AliHLTPHOSEmcCalibrationHistogramProducer()
49 //See header file for documentation
53 AliHLTPHOSEmcCalibrationHistogramProducer::Reset()
55 //See header file for documentation
59 AliHLTPHOSEmcCalibrationHistogramProducer::FillChannelEnergy(Int_t module, Int_t xCol, Int_t zRow, Int_t gain)
61 //See header file for documentation
65 AliHLTPHOSEmcCalibrationHistogramProducer::FillRCUEnergies(TH1F* rcuChannelEnergyPtr[][N_ZROWS_RCU][N_GAINS], Int_t module, Int_t rcuX, Int_t rcuZ)
67 //See header file for documentation
71 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
73 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
75 for(UInt_t gain = 0; gain < N_GAINS; gain++)
77 sprintf(histName, "mod%dcol%drow%dgain%d", module, x, z, gain);
78 *fChannelEnergyHistogramPtr[module][x+rcuX*N_XCOLUMNS_RCU][z+rcuZ*N_ZROWS_RCU][gain] = (TH1F*)rcuChannelEnergyPtr[x][z][gain]->Clone(histName);
85 AliHLTPHOSEmcCalibrationHistogramProducer::FillBadChannels(TH2F* rcuBadChannelHistPtr[], Int_t module)
87 //See header file for documentation
92 AliHLTPHOSEmcCalibrationHistogramProducer::GetChannelEnergyHistogram(Int_t module, Int_t xCol, Int_t zRow, Int_t gain)
94 //See header file for documentation
95 return fChannelEnergyHistogramPtr[module][xCol][zRow][gain];
99 AliHLTPHOSEmcCalibrationHistogramProducer::GetMeanEnergyHistogram(Int_t module, Int_t gain)
101 //See header file for documentation
102 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
104 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
106 fMeanEnergyHistogramPtr->SetBinContent(x, z, fChannelEnergyHistogramPtr[module][x][z][gain]->GetMean());
112 AliHLTPHOSEmcCalibrationHistogramProducer::GetMaxSignalHistogram(Int_t module, Int_t gain)
114 //See header file for documentation
115 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
117 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
119 fMaxSignalHistogramPtr->SetBinContent(x, z, fChannelEnergyHistogramPtr[module][x][z][gain]->GetMaximum());
125 AliHLTPHOSEmcCalibrationHistogramProducer::GetNHitsHistogram(Int_t module, Int_t gain)
127 //See header file for documentation
128 for(UInt_t x = 0; x < N_XCOLUMNS_RCU; x++)
130 for(UInt_t z = 0; z < N_ZROWS_RCU; z++)
138 AliHLTPHOSEmcCalibrationHistogramProducer::GetLiveChannelHistogram(Int_t module, Int_t gain, Float_t minSignal = 30)
140 //See header file for documentation
145 AliHLTPHOSEmcCalibrationHistogramProducer::GetBadChannelHistogram(Int_t module, Int_t gain)
147 //See header file for documentation