#include "AliCaloFitResults.h"
#include "AliCaloRawAnalyzerFastFit.h"
#include "AliCaloRawAnalyzerNN.h"
-#include "AliCaloRawAnalyzerLMS.h"
+//#include "AliCaloRawAnalyzerLMS.h"
+#include "AliCaloRawAnalyzerKStandard.h"
#include "AliCaloRawAnalyzerPeakFinder.h"
#include "AliCaloRawAnalyzerCrude.h"
+#include "AliCaloRawAnalyzerFactory.h"
+
using namespace std;
ClassImp(AliEMCALQADataMakerRec)
fFittingAlgorithm(0),
fRawAnalyzer(0),
fRawAnalyzerTRU(0),
- fSuperModules(4), // FIXME!!! number of SuperModules; 4 for 2009; update default to 12 for later runs..
+ fSuperModules(10), // FIXME!!! number of SuperModules; 10 for 2011; update default for later runs
fFirstPedestalSample(0),
fLastPedestalSample(3),
fFirstPedestalSampleTRU(0),
{
// ctor
SetFittingAlgorithm(fitAlgo);
- fRawAnalyzerTRU = new AliCaloRawAnalyzerLMS();
+
+ //fRawAnalyzerTRU = new AliCaloRawAnalyzerLMS();
+
+ fRawAnalyzerTRU = ( AliCaloRawAnalyzerKStandard*)AliCaloRawAnalyzerFactory::CreateAnalyzer(kLMS);
+
fRawAnalyzerTRU->SetFixTau(kTRUE);
fRawAnalyzerTRU->SetTau(2.5); // default for TRU shaper
// for (Int_t sm = 0 ; sm < fSuperModules ; sm++){
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
SetFittingAlgorithm(qadm.GetFittingAlgorithm());
- fRawAnalyzerTRU = new AliCaloRawAnalyzerLMS();
+
+ //fRawAnalyzerTRU = new AliCaloRawAnalyzerLMS();
+ fRawAnalyzerTRU = (AliCaloRawAnalyzerKStandard*)AliCaloRawAnalyzerFactory::CreateAnalyzer(kLMS);
fRawAnalyzerTRU->SetFixTau(kTRUE);
fRawAnalyzerTRU->SetTau(2.5); // default for TRU shaper
// for (Int_t sm = 0 ; sm < fSuperModules ; sm++){
ConvertProfile2H(dynamic_cast<TProfile *>(GetRawsData(kSigHG)), fHighEmcHistoH2F) ;
Double_t binContent = 0. ;
- //reset ratio histograms
- GetRawsData(k2DRatioAmp)->Reset("ICE");
- GetRawsData(kRatioDist)->Reset("ICE");
- GetRawsData(kLEDMonRatio)->Reset("ICE");
- GetRawsData(kLEDMonRatioDist)->Reset("ICE");
- GetRawsData(k2DRatioAmp)->ResetStats();
- GetRawsData(kRatioDist)->ResetStats();
- GetRawsData(kLEDMonRatio)->ResetStats();
- GetRawsData(kLEDMonRatioDist)->ResetStats();
//calculate the ratio of the amplitude and fill the histograms, only if the events type is Calib
- if (rawReader->GetType() == AliRawEventHeaderBase::kCalibrationEvent) {
- for(Int_t ix = 1; ix <= fHighEmcHistoH2F->GetNbinsX(); ix++) {
- for(Int_t iy = 1; iy <= fHighEmcHistoH2F->GetNbinsY(); iy++) {
- if(fCalibRefHistoH2F->GetBinContent(ix, iy))binContent = fHighEmcHistoH2F->GetBinContent(ix, iy)/fCalibRefHistoH2F->GetBinContent(ix, iy) ;
- GetRawsData(k2DRatioAmp)->SetBinContent(ix, iy, binContent);
- GetRawsData(kRatioDist)->Fill(GetRawsData(k2DRatioAmp)->GetBinContent(ix, iy));
- }
- }
+ if (rawReader->GetType() == AliRawEventHeaderBase::kCalibrationEvent) {
+ //reset ratio histograms
+ GetRawsData(k2DRatioAmp)->Reset("ICE");
+ GetRawsData(kRatioDist)->Reset("ICE");
+ GetRawsData(kLEDMonRatio)->Reset("ICE");
+ GetRawsData(kLEDMonRatioDist)->Reset("ICE");
+ GetRawsData(k2DRatioAmp)->ResetStats();
+ GetRawsData(kRatioDist)->ResetStats();
+ GetRawsData(kLEDMonRatio)->ResetStats();
+ GetRawsData(kLEDMonRatioDist)->ResetStats();
+
+ for(Int_t ix = 1; ix <= fHighEmcHistoH2F->GetNbinsX(); ix++) {
+ for(Int_t iy = 1; iy <= fHighEmcHistoH2F->GetNbinsY(); iy++) {
+ if(fCalibRefHistoH2F->GetBinContent(ix, iy))binContent = fHighEmcHistoH2F->GetBinContent(ix, iy)/fCalibRefHistoH2F->GetBinContent(ix, iy) ;
+ GetRawsData(k2DRatioAmp)->SetBinContent(ix, iy, binContent);
+ GetRawsData(kRatioDist)->Fill(GetRawsData(k2DRatioAmp)->GetBinContent(ix, iy));
+ }
+ }
- }
- //Now for LED monitor system, to calculate the ratio as well
- Double_t binError = 0. ;
- // for the binError, we add the relative errors, squared
- Double_t relativeErrorSqr = 0. ;
+ //Now for LED monitor system, to calculate the ratio as well
+ Double_t binError = 0. ;
+ // for the binError, we add the relative errors, squared
+ Double_t relativeErrorSqr = 0. ;
- for(int ib = 1; ib <= fLEDMonRefHistoPro->GetNbinsX(); ib++) {
+ for(int ib = 1; ib <= fLEDMonRefHistoPro->GetNbinsX(); ib++) {
- if(fLEDMonRefHistoPro->GetBinContent(ib) != 0) {
- binContent = GetRawsData(kSigLGLEDMon)->GetBinContent(ib) / fLEDMonRefHistoPro->GetBinContent(ib);
-
- relativeErrorSqr = TMath::Power( (fLEDMonRefHistoPro->GetBinError(ib) / fLEDMonRefHistoPro->GetBinContent(ib)), 2);
- if(GetRawsData(kSigLGLEDMon)->GetBinContent(ib) != 0) {
- relativeErrorSqr += TMath::Power( (GetRawsData(kSigLGLEDMon)->GetBinError(ib)/GetRawsData(kSigLGLEDMon)->GetBinContent(ib)), 2);
- }
- }
- else {
- binContent = 0;
- relativeErrorSqr = 0;
- }
- GetRawsData(kLEDMonRatio)->SetBinContent(ib, binContent);
+ if(fLEDMonRefHistoPro->GetBinContent(ib) != 0) {
+ binContent = GetRawsData(kSigLGLEDMon)->GetBinContent(ib) / fLEDMonRefHistoPro->GetBinContent(ib);
+
+ relativeErrorSqr = TMath::Power( (fLEDMonRefHistoPro->GetBinError(ib) / fLEDMonRefHistoPro->GetBinContent(ib)), 2);
+ if(GetRawsData(kSigLGLEDMon)->GetBinContent(ib) != 0) {
+ relativeErrorSqr += TMath::Power( (GetRawsData(kSigLGLEDMon)->GetBinError(ib)/GetRawsData(kSigLGLEDMon)->GetBinContent(ib)), 2);
+ }
+ }
+ else {
+ binContent = 0;
+ relativeErrorSqr = 0;
+ }
+ GetRawsData(kLEDMonRatio)->SetBinContent(ib, binContent);
- binError = sqrt(relativeErrorSqr) * binContent;
- GetRawsData(kLEDMonRatio)->SetBinError(ib, binError);
- GetRawsData(kLEDMonRatioDist)->Fill(GetRawsData(kLEDMonRatio)->GetBinContent(ib));
- }
-
+ binError = sqrt(relativeErrorSqr) * binContent;
+ GetRawsData(kLEDMonRatio)->SetBinError(ib, binError);
+ GetRawsData(kLEDMonRatioDist)->Fill(GetRawsData(kLEDMonRatio)->GetBinContent(ib));
+ }
+ }
// let's also fill the SM and event counter histograms
Int_t nTotalHG = 0;
Int_t nTotalLG = 0;
{
// makes data from Digit Tree
if (fDigitsArray)
- fDigitsArray->Clear() ;
+ fDigitsArray->Clear("C") ;
else
fDigitsArray = new TClonesArray("AliEMCALDigit", 1000) ;
{
//Set fitting algorithm and initialize it if this same algorithm was not set before.
//printf("**** Set Algorithm , number %d ****\n",fitAlgo);
+
+ fRawAnalyzer = AliCaloRawAnalyzerFactory::CreateAnalyzer(fitAlgo);
+ fFittingAlgorithm = fitAlgo;
+
+ /*
if(fitAlgo == fFittingAlgorithm && fRawAnalyzer) {
//Do nothing, this same algorithm already set before.
//printf("**** Algorithm already set before, number %d, %s ****\n",fitAlgo, fRawAnalyzer->GetName());
}
return;
+ */
}
//_____________________________________________________________________________________