//_________________________________________________________________________
// An analysis task to check the PHOS photon data in simulated data
+// An analysis task to check the PHOS photon data in simulated data
+// An analysis task to check the PHOS photon data in simulated data
+// An analysis task to check the PHOS photon data in simulated data
+// An analysis task to check the PHOS photon data in simulated data
+// An analysis task to check the PHOS photon data in simulated data
//
//*-- Yves Schutz
//////////////////////////////////////////////////////////////////////////////
#include <TChain.h>
#include <TFile.h>
#include <TH1.h>
-#include <TH1F.h>
-#include <TH1I.h>
-#include <TLegend.h>
#include <TNtuple.h>
#include <TROOT.h>
#include <TVector3.h>
+#include <TString.h>
#include "AliPHOSQATask.h"
#include "AliESD.h"
AliAnalysisTask(name,""),
fChain(0),
fESD(0),
+ fOutputContainer(0),
+ fhPHOSPos(0),
fhPHOS(0),
fhPHOSEnergy(0),
fhPHOSDigits(0),
DefineOutput(0, TObjArray::Class()) ;
}
+//____________________________________________________________________________
+AliPHOSQATask::AliPHOSQATask(const AliPHOSQATask& ta) :
+ AliAnalysisTask(ta.GetName(),""),
+ fChain(ta.fChain),
+ fESD(ta.fESD),
+ fOutputContainer(ta.fOutputContainer),
+ fhPHOSPos(ta.fhPHOSPos),
+ fhPHOS(ta.fhPHOS),
+ fhPHOSEnergy(ta.fhPHOSEnergy),
+ fhPHOSDigits(ta.fhPHOSDigits),
+ fhPHOSRecParticles(ta.fhPHOSRecParticles),
+ fhPHOSPhotons(ta.fhPHOSPhotons),
+ fhPHOSInvariantMass(ta.fhPHOSInvariantMass),
+ fhPHOSDigitsEvent(ta.fhPHOSDigitsEvent)
+{
+ // cpy ctor
+}
+
+//_____________________________________________________________________________
+AliPHOSQATask& AliPHOSQATask::operator = (const AliPHOSQATask& ap)
+{
+// assignment operator
+
+ this->~AliPHOSQATask();
+ new(this) AliPHOSQATask(ap);
+ return *this;
+}
+
//______________________________________________________________________________
AliPHOSQATask::~AliPHOSQATask()
{
{
// create histograms
+ OpenFile(0) ;
+
fhPHOSPos = new TNtuple("PHOSPos" , "Position in PHOS" , "x:y:z");
fhPHOS = new TNtuple("PHOS" , "PHOS" , "event:digits:clusters:photons");
fhPHOSEnergy = new TH1D("PHOSEnergy" , "PHOSEnergy" , 1000, 0., 10. ) ;
//************************ PHOS *************************************
Int_t firstPhosCluster = fESD->GetFirstPHOSCluster() ;
- const Int_t numberOfPhosClusters = fESD->GetNumberOfPHOSClusters() ;
+ const Int_t kNumberOfPhosClusters = fESD->GetNumberOfPHOSClusters() ;
- TVector3 ** phosVector = new TVector3*[numberOfPhosClusters] ;
- Float_t * phosPhotonsEnergy = new Float_t[numberOfPhosClusters] ;
+ TVector3 ** phosVector = new TVector3*[kNumberOfPhosClusters] ;
+ Float_t * phosPhotonsEnergy = new Float_t[kNumberOfPhosClusters] ;
Int_t phosCluster ;
Int_t numberOfPhotonsInPhos = 0 ;
Int_t numberOfDigitsInPhos = 0 ;
// loop over the PHOS Cluster
- for(phosCluster = firstPhosCluster ; phosCluster < firstPhosCluster + numberOfPhosClusters ; phosCluster++) {
+ for(phosCluster = firstPhosCluster ; phosCluster < firstPhosCluster + kNumberOfPhosClusters ; phosCluster++) {
AliESDCaloCluster * caloCluster = fESD->GetCaloCluster(phosCluster) ;
if (caloCluster) {
Float_t pos[3] ;
- caloCluster->GetGlobalPosition( pos ) ;
- fhPHOSEnergy->Fill( caloCluster->GetClusterEnergy() ) ;
+ caloCluster->GetPosition( pos ) ;
+ fhPHOSEnergy->Fill( caloCluster->E() ) ;
fhPHOSPos->Fill( pos[0], pos[1], pos[2] ) ;
- fhPHOSDigits->Fill(entry, caloCluster->GetNumberOfDigits() ) ;
- numberOfDigitsInPhos += caloCluster->GetNumberOfDigits() ;
- Float_t * pid = caloCluster->GetPid() ;
+ fhPHOSDigits->Fill(entry, caloCluster->GetNCells() ) ;
+ numberOfDigitsInPhos += caloCluster->GetNCells() ;
+ const Double_t * pid = caloCluster->GetPID() ;
if(pid[AliPID::kPhoton] > 0.9) {
phosVector[numberOfPhotonsInPhos] = new TVector3(pos[0],pos[1],pos[2]) ;
- phosPhotonsEnergy[numberOfPhotonsInPhos]=caloCluster->GetClusterEnergy() ;
+ phosPhotonsEnergy[numberOfPhotonsInPhos]=caloCluster->E() ;
numberOfPhotonsInPhos++;
}
}
} //PHOS clusters
- fhPHOSRecParticles->Fill(numberOfPhosClusters);
+ fhPHOSRecParticles->Fill(kNumberOfPhosClusters);
fhPHOSPhotons->Fill(numberOfPhotonsInPhos);
fhPHOSDigitsEvent->Fill(numberOfDigitsInPhos);
- fhPHOS->Fill(entry, numberOfDigitsInPhos, numberOfPhosClusters, numberOfPhotonsInPhos) ;
+ fhPHOS->Fill(entry, numberOfDigitsInPhos, kNumberOfPhosClusters, numberOfPhotonsInPhos) ;
// invariant Mass
if (numberOfPhotonsInPhos > 1 ) {
AliInfo(Form("!!! All the eps files are in %s.tar.gz !!!", GetName())) ;
- char * report ;
+ TString report ;
if(problem)
report="Problems found, please check!!!";
else
report="OK";
- AliInfo(Form("*** %s Summary Report: %s \n",GetName(), report)) ;
+ AliInfo(Form("*** %s Summary Report: %s \n",GetName(), report.Data())) ;
}