#include <TCanvas.h>
#include <TChain.h>
#include <TFile.h>
-#include <TH1F.h>
#include <TH2F.h>
#include <TLine.h>
#include <TROOT.h>
#include <TStyle.h>
+#include <TString.h>
#include "AliPMDQATask.h"
#include "AliPMDUtility.h"
AliAnalysisTask(name,""),
fChain(0),
fESD(0),
+ fOutputContainer(0),
fhPMDP1(0),
fhPMDC2(0),
fhPMDP2(0),
DefineOutput(0, TObjArray::Class()) ;
}
+//______________________________________________________________________________
+AliPMDQATask::AliPMDQATask(const AliPMDQATask& ta) :
+AliAnalysisTask(ta.GetName(), ""),
+fChain(ta.fChain),
+fESD(ta.fESD),
+fOutputContainer(ta.fOutputContainer),
+fhPMDP1(ta.fhPMDP1),
+fhPMDC2(ta.fhPMDC2),
+fhPMDP2(ta.fhPMDP2),
+fhPMDC3(ta.fhPMDC3),
+fhPMDP3(ta.fhPMDP3),
+fhPMDP4(ta.fhPMDP4),
+fhPMDC5(ta.fhPMDC5),
+fhPMDP5(ta.fhPMDP5),
+fhPMDCP0(ta.fhPMDCP0),
+fhPMDCP1(ta.fhPMDCP1),
+fhPMDCP2(ta.fhPMDCP2),
+fhPMDCP3(ta.fhPMDCP3),
+fhPMDCP4(ta.fhPMDCP4),
+fhPMDSM1(ta.fhPMDSM1),
+fhPMDSM2(ta.fhPMDSM2),
+fhPMDSM3(ta.fhPMDSM3),
+fhPMDSM4(ta.fhPMDSM4),
+fhPMDSM5(ta.fhPMDSM5),
+fhPMDSM6(ta.fhPMDSM6),
+fhPMDSM7(ta.fhPMDSM7),
+fhPMDSM8(ta.fhPMDSM8),
+fhPMDSM9(ta.fhPMDSM9),
+fhPMDSM10(ta.fhPMDSM10),
+fhPMDSM11(ta.fhPMDSM11),
+fhPMDSM12(ta.fhPMDSM12),
+fhPMDSM13(ta.fhPMDSM13),
+fhPMDSM14(ta.fhPMDSM14),
+fhPMDSM15(ta.fhPMDSM15),
+fhPMDSM16(ta.fhPMDSM16),
+fhPMDSM17(ta.fhPMDSM17),
+fhPMDSM18(ta.fhPMDSM18),
+fhPMDSM19(ta.fhPMDSM19),
+fhPMDSM20(ta.fhPMDSM20),
+fhPMDSM21(ta.fhPMDSM21),
+fhPMDSM22(ta.fhPMDSM22),
+fhPMDSM23(ta.fhPMDSM23),
+fhPMDSM24(ta.fhPMDSM24),
+fhPMDSM (ta.fhPMDSM)
+{
+ // copy constructor
+}
+
+//_____________________________________________________________________________
+AliPMDQATask& AliPMDQATask::operator = (const AliPMDQATask& ap)
+{
+ // assignment operator
+
+ this->~AliPMDQATask();
+ new(this) AliPMDQATask(ap);
+ return *this;
+}
+
//______________________________________________________________________________
AliPMDQATask::~AliPMDQATask()
{
{
// create histograms
+ OpenFile(0) ;
+
fhPMDP1 = new TH2F("fhPMDP1","XY of Clusters",100,-100.,100.,100,-100.,100.);
fhPMDC2 = new TH1F("fhPMDC2","CPV PHI",200,-1,9);
fhPMDP2 = new TH1F("fhPMDP2","PRE PHI",200,-1,9);
fhPMDSM24 = (TH2F*)fOutputContainer->At(36);
fhPMDSM = (TH1F*)fOutputContainer->At(37);
+ Bool_t problem = kFALSE ;
AliInfo(Form(" *** %s Report:", GetName())) ;
gStyle->SetOptStat(110000);
sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ;
gROOT->ProcessLine(line);
- AliInfo(Form("!!! All the eps files are in %s.tar.gz !!! \n", GetName())) ;
+ AliInfo(Form("!!! All the eps files are in %s.tar.gz !!!", GetName())) ;
+ TString report ;
+ if(problem)
+ report="Problems found, please check!!!";
+ else
+ report="OK";
+
+ AliInfo(Form("*** %s Summary Report: %s \n",GetName(), report.Data())) ;
}
//______________________________________________________________________________
-void AliPMDQATask::CalculateSMN( Float_t clsX, Float_t clsY, Int_t & smn)
+void AliPMDQATask::CalculateSMN( Float_t clsX, Float_t clsY, Int_t & smn) const
{
Double_t xcon[96] = {75.133, 54.204, 53.254, 32.326, 31.376,10.447,
75.133, 54.204, 53.254, 32.326, 31.376,10.447,
}
//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundary()
+void AliPMDQATask::DrawPMDBoundary() const
{
// Draw PMD boundaries
}
//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM1()
+void AliPMDQATask::DrawPMDBoundarySM1() const
{
// Draw boundaries of Super Module 1
}
//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM2()
+void AliPMDQATask::DrawPMDBoundarySM2() const
{
// Draw boundaries of Super Module 2
//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM3()
+void AliPMDQATask::DrawPMDBoundarySM3() const
{
// Draw boundaries of Super Module 3
}
//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM4()
+void AliPMDQATask::DrawPMDBoundarySM4() const
{
// Draw boundaries of Super Module 4