Removing obsolete module
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Jan 2011 20:00:22 +0000 (20:00 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Jan 2011 20:00:22 +0000 (20:00 +0000)
30 files changed:
CMakeLists.txt
ESDCheck/AliAnalysisTaskPt.cxx [deleted file]
ESDCheck/AliAnalysisTaskPt.h [deleted file]
ESDCheck/AliEMCALQATask.cxx [deleted file]
ESDCheck/AliEMCALQATask.h [deleted file]
ESDCheck/AliFMDQATask.cxx [deleted file]
ESDCheck/AliFMDQATask.h [deleted file]
ESDCheck/AliHMPIDQATask.cxx [deleted file]
ESDCheck/AliHMPIDQATask.h [deleted file]
ESDCheck/AliMUONQATask.cxx [deleted file]
ESDCheck/AliMUONQATask.h [deleted file]
ESDCheck/AliPHOSQATask.cxx [deleted file]
ESDCheck/AliPHOSQATask.h [deleted file]
ESDCheck/AliPMDQATask.cxx [deleted file]
ESDCheck/AliPMDQATask.h [deleted file]
ESDCheck/AliT0QATask.cxx [deleted file]
ESDCheck/AliT0QATask.h [deleted file]
ESDCheck/AliTOFQATask.cxx [deleted file]
ESDCheck/AliTOFQATask.h [deleted file]
ESDCheck/AliTRDQATask.cxx [deleted file]
ESDCheck/AliTRDQATask.h [deleted file]
ESDCheck/AliVZEROQATask.cxx [deleted file]
ESDCheck/AliVZEROQATask.h [deleted file]
ESDCheck/AnalysisCheckLinkDef.h [deleted file]
ESDCheck/CMakelibAnalysisCheck.pkg [deleted file]
ESDCheck/CheckESD.sh [deleted file]
ESDCheck/Makefile [deleted file]
ESDCheck/PROOF-INF.AnalysisCheck/BUILD.sh [deleted file]
ESDCheck/PROOF-INF.AnalysisCheck/SETUP.C [deleted file]
ESDCheck/ana.C [deleted file]

index 8793bcb..107282c 100644 (file)
@@ -121,7 +121,7 @@ set(BINLIBDIRS "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
 
 # Standard Modules
 # ------------------------------
-set(ALIROOTMODULES STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS ACORDE HMPID T0 BCM STRUCT VZERO THijing THbtp EMCAL THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS JETAN HLT LHC ESDCheck STAT TTherminator CORRFW DPMJET TDPMjet PWG0 PWG1 PWG2 PWG3 PWG4 TRIGGER PYTHIA8 TAmpt OADB )
+set(ALIROOTMODULES STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS ACORDE HMPID T0 BCM STRUCT VZERO THijing THbtp EMCAL THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS JETAN HLT LHC STAT TTherminator CORRFW DPMJET TDPMjet PWG0 PWG1 PWG2 PWG3 PWG4 TRIGGER PYTHIA8 TAmpt OADB )
 
 if(THydjet)
   list(APPEND ALIROOTMODULES THydjet)
diff --git a/ESDCheck/AliAnalysisTaskPt.cxx b/ESDCheck/AliAnalysisTaskPt.cxx
deleted file mode 100644 (file)
index 648e868..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// A test analysis task to check the pt of tracks distribution in simulated data
-//
-//*-- Panos
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h>
-#include <TH1.h>
-#include <TROOT.h>
-#include <TSystem.h>
-#include <TString.h> 
-
-#include "AliAnalysisTaskPt.h"
-#include "AliESD.h"
-#include "AliLog.h"
-
-//________________________________________________________________________
-AliAnalysisTaskPt::AliAnalysisTaskPt(const char *name) :
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fhPt(0),
-  fOutputContainer(0)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0, TObjArray::Class());
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskPt::ConnectInputData(Option_t *) 
-{
-  // Initialisation of branch container and histograms 
-  
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskPt::CreateOutputObjects()
-{
-  // create histograms 
-
-  OpenFile(0) ; 
-
-  fhPt = new TH1F("fhPt","This is the Pt distribution",15,0.1,3.1);
-  fhPt->SetStats(kTRUE);
-  fhPt->GetXaxis()->SetTitle("P_{T} [GeV]");
-  fhPt->GetYaxis()->SetTitle("#frac{dN}{dP_{T}}");
-  fhPt->GetXaxis()->SetTitleColor(1);
-  fhPt->SetMarkerStyle(kFullCircle);
-  // create output container
-  
-  fOutputContainer = new TObjArray(1) ; 
-  fOutputContainer->SetName(GetName()) ;
-  
-  fOutputContainer->AddAt(fhPt, 0) ;
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskPt::Exec(Option_t *) 
-{
-  // Processing of one event
-    
-  Long64_t entry = fChain->GetReadEntry() ;
-  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  //************************  Pt tracks  *************************************
-  for(Int_t iTracks = 0; iTracks < fESD->GetNumberOfTracks(); iTracks++) {
-    AliESDtrack * ESDTrack = fESD->GetTrack(iTracks);
-    Double_t momentum[3];
-    ESDTrack->GetPxPyPz(momentum);
-    Double_t Pt = sqrt(pow(momentum[0],2) + pow(momentum[1],2));
-    fhPt->Fill(Pt);
-  }//track loop 
-
-  PostData(0, fOutputContainer);
-}      
-
-//________________________________________________________________________
-void AliAnalysisTaskPt::Terminate(Option_t *) 
-{
-  // Processing when the event loop is ended
-
-  Bool_t problem=kFALSE;
-
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-
-  TCanvas *c1 = new TCanvas("c1","Pt",10,10,310,310);
-  c1->SetFillColor(10);
-  c1->SetHighLightColor(10);
-  
-  c1->cd(1)->SetLeftMargin(0.15);
-  c1->cd(1)->SetBottomMargin(0.15);  
-  if (fhPt->GetMaximum() > 0 ) 
-    c1->cd(1)->SetLogy();
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  fhPt = (TH1F*)fOutputContainer->At(0);
-  if (fhPt) fhPt->DrawCopy("E");
-
-  c1->Print("TracksPt.eps");
-
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  sprintf(line, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-
-  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())) ; 
-}
diff --git a/ESDCheck/AliAnalysisTaskPt.h b/ESDCheck/AliAnalysisTaskPt.h
deleted file mode 100644 (file)
index a4e07bc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef ALIANALYSISTASKPT_H
-#define ALIANALYSISTASKPT_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// A test analysis task to check the pt of tracks distribution in simulated data
-//
-//*-- Panos
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TTree.h> 
-#include "AliAnalysisTask.h"
-
-class AliESD ; 
-class TH1 ;
-
-class AliAnalysisTaskPt : public AliAnalysisTask {
-
-public:
-  AliAnalysisTaskPt(const char *name = "AliAnalysisTaskPt");
-  virtual ~AliAnalysisTaskPt() {}
-  
-  virtual void   ConnectInputData(Option_t *);
-  virtual void   CreateOutputObjects();
-  virtual void   Exec(Option_t * opt = "");
-  virtual void   Terminate(Option_t * opt = "");
-  
-private:
-  TTree  * fChain ; //! pointer to the analyzed TTree or TChain
-  AliESD * fESD;    //! ESD object
-  TH1F   * fhPt;    //! Pt spectrum
-  
-  TObjArray * fOutputContainer ; //! output data container
-
-  AliAnalysisTaskPt(const AliAnalysisTaskPt&); // Not implemented
-  AliAnalysisTaskPt& operator=(const AliAnalysisTaskPt&); // Not implemented
-
-  ClassDef(AliAnalysisTaskPt, 0); // example of analysis
-};
-#endif // ALIANALYSISTASKPT_H
-
diff --git a/ESDCheck/AliEMCALQATask.cxx b/ESDCheck/AliEMCALQATask.cxx
deleted file mode 100644 (file)
index c3fbf95..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// An analysis task to check the EMCAL photon data in simulated data
-// An analysis task to check the EMCAL photon data in simulated data
-// An analysis task to check the EMCAL photon data in simulated data
-// An analysis task to check the EMCAL photon data in simulated data
-// An analysis task to check the EMCAL photon data in simulated data
-//
-//*-- Yves Schutz 
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h> 
-#include <TH1.h>
-#include <TNtuple.h>
-#include <TROOT.h>
-#include <TVector3.h> 
-#include <TString.h> 
-
-#include "AliEMCALQATask.h" 
-#include "AliESD.h" 
-#include "AliLog.h"
-
-//______________________________________________________________________________
-AliEMCALQATask::AliEMCALQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0), 
-  fhEMCALPos(0),
-  fhEMCAL(0),
-  fhEMCALEnergy(0),
-  fhEMCALDigits(0),
-  fhEMCALRecParticles(0),
-  fhEMCALPhotons(0),
-  fhEMCALInvariantMass(0),
-  fhEMCALDigitsEvent(0)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-}
-
-//____________________________________________________________________________
-AliEMCALQATask::AliEMCALQATask(const AliEMCALQATask& ta) :
-  AliAnalysisTask(ta.GetName(),""),  
-  fChain(ta.fChain),
-  fESD(ta.fESD), 
-  fOutputContainer(ta.fOutputContainer), 
-  fhEMCALPos(ta.fhEMCALPos),
-  fhEMCAL(ta.fhEMCAL),
-  fhEMCALEnergy(ta.fhEMCALEnergy),
-  fhEMCALDigits(ta.fhEMCALDigits),
-  fhEMCALRecParticles(ta.fhEMCALRecParticles),
-  fhEMCALPhotons(ta.fhEMCALPhotons),
-  fhEMCALInvariantMass(ta.fhEMCALInvariantMass),
-  fhEMCALDigitsEvent(ta.fhEMCALDigitsEvent)
-{ 
-  // cpy ctor
-}
-
-//_____________________________________________________________________________
-AliEMCALQATask& AliEMCALQATask::operator = (const AliEMCALQATask& ap)
-{
-// assignment operator
-
-  this->~AliEMCALQATask();
-  new(this) AliEMCALQATask(ap);
-  return *this;
-}
-
-//______________________________________________________________________________
-AliEMCALQATask::~AliEMCALQATask()
-{
-  // dtor
-  fOutputContainer->Clear() ; 
-  delete fOutputContainer ; 
-
-  delete fhEMCALPos ;
-  delete fhEMCAL ;
-  delete fhEMCALEnergy ;
-  delete fhEMCALDigits ;
-  delete fhEMCALRecParticles ;
-  delete fhEMCALPhotons ;
-  delete fhEMCALInvariantMass ;
-  delete fhEMCALDigitsEvent ;
-}
-
-//______________________________________________________________________________
-void AliEMCALQATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-  
-//______________________________________________________________________________
-void AliEMCALQATask::CreateOutputObjects()  
-{
-// create histograms  
-
-  OpenFile(0) ; 
-
-  fhEMCALPos           = new TNtuple("EMCALPos"        , "Position in EMCAL" , "x:y:z");
-  fhEMCAL              = new TNtuple("EMCAL"           , "EMCAL" , "event:digits:clusters:photons");
-  fhEMCALEnergy        = new TH1D("EMCALEnergy"        , "EMCALEnergy"       , 1000, 0., 10. ) ;
-  fhEMCALDigits        = new TH1I("EMCALDigitsCluster" , "EMCALDigits"       , 20 , 0 , 20  ) ;
-  fhEMCALRecParticles  = new TH1D("EMCALRecParticles"  , "EMCALRecParticles", 20 , 0., 20. ) ;
-  fhEMCALPhotons       = new TH1I("EMCALPhotons"       , "EMCALPhotons"      , 20 , 0 , 20  ) ;
-  fhEMCALInvariantMass = new TH1D("EMCALInvariantMass" , "EMCALInvariantMass", 400, 0., 400.) ;
-  fhEMCALDigitsEvent   = new TH1I("EMCALDigitsEvent"   , "EMCALDigitsEvent"  , 30 , 0 , 30  ) ;
-  
-  // create output container
-  
-  fOutputContainer = new TObjArray(8) ; 
-  fOutputContainer->SetName(GetName()) ; 
-
-  fOutputContainer->AddAt(fhEMCALPos,            0) ; 
-  fOutputContainer->AddAt(fhEMCAL,               1) ; 
-  fOutputContainer->AddAt(fhEMCALEnergy,         2) ; 
-  fOutputContainer->AddAt(fhEMCALDigits,         3) ; 
-  fOutputContainer->AddAt(fhEMCALRecParticles,   4) ; 
-  fOutputContainer->AddAt(fhEMCALPhotons,        5) ; 
-  fOutputContainer->AddAt(fhEMCALInvariantMass,  6) ; 
-  fOutputContainer->AddAt(fhEMCALDigitsEvent,    7) ; 
-}
-
-//______________________________________________________________________________
-void AliEMCALQATask::Exec(Option_t *) 
-{
-  // Processing of one event
-  Long64_t entry = fChain->GetReadEntry() ;
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  //************************  EMCAL *************************************
-  Int_t       firstEmcalCluster       = fESD->GetFirstEMCALCluster() ;
-  const Int_t kNumberOfEmcalClusters   = fESD->GetNumberOfEMCALClusters() ;
-
-  TVector3 ** emcalVector        = new TVector3*[kNumberOfEmcalClusters] ;
-  Float_t   * emcalPhotonsEnergy = new Float_t[kNumberOfEmcalClusters] ;
-  Int_t      emcalCluster ; 
-  Int_t      numberOfEmcalClustersv1 = 0 ; 
-  Int_t      numberOfPhotonsInEmcal  = 0 ;
-  Int_t      numberOfDigitsInEmcal   = 0 ;  
-
-
-  // loop over all the EMCAL Cluster
-  for(emcalCluster = firstEmcalCluster ; emcalCluster < firstEmcalCluster + kNumberOfEmcalClusters ; emcalCluster++) {
-    AliESDCaloCluster * caloCluster = fESD->GetCaloCluster(emcalCluster) ;
-    if (caloCluster) {
-      Float_t pos[3] ;
-      if(caloCluster->IsEMCAL()) {  
-       caloCluster->GetPosition(pos) ;
-       fhEMCALPos->Fill(pos[0],pos[1],pos[2]) ;
-       fhEMCALEnergy->Fill(caloCluster->E()) ;
-       fhEMCALDigits->Fill(entry, caloCluster->GetNCells()) ;
-       numberOfEmcalClustersv1++ ;
-       numberOfDigitsInEmcal += caloCluster->GetNCells() ;    
-       // const Double_t * pid = clus->GetPID() ;
-       // if(pid[AliPID::kPhoton]>0.9){
-       emcalVector[numberOfPhotonsInEmcal] = new TVector3(pos[0],pos[1],pos[2]) ;
-       emcalPhotonsEnergy[numberOfPhotonsInEmcal] = caloCluster->E() ;
-       numberOfPhotonsInEmcal++ ; 
-      }
-    }
-  } // EMCAL clusters loop
-
-  fhEMCALRecParticles->Fill(numberOfEmcalClustersv1);
-  fhEMCALPhotons->Fill(numberOfPhotonsInEmcal);
-  fhEMCALDigitsEvent->Fill(numberOfDigitsInEmcal);
-  fhEMCAL->Fill(entry, numberOfDigitsInEmcal, numberOfEmcalClustersv1, numberOfPhotonsInEmcal) ; 
-  
-  // invariant Mass
-  if (numberOfPhotonsInEmcal > 1 ) {
-    Int_t emcalPhoton1, emcalPhoton2 ; 
-    for(emcalPhoton1 = 0 ; emcalPhoton1 < numberOfPhotonsInEmcal ; emcalPhoton1++) {
-      for(emcalPhoton2 = emcalPhoton1 + 1 ; emcalPhoton2 < numberOfPhotonsInEmcal ; emcalPhoton2++) {
-       Float_t tempMass = TMath::Sqrt( 2 * emcalPhotonsEnergy[emcalPhoton1] * emcalPhotonsEnergy[emcalPhoton2] * 
-                                       ( 1 - TMath::Cos( emcalVector[emcalPhoton1]->Angle(*emcalVector[emcalPhoton2])) 
-                                         )
-                                       );
-       fhEMCALInvariantMass->Fill(tempMass*1000.);
-      }
-    }    
-  }
-  
-  PostData(0, fOutputContainer);
-  
-  delete [] emcalVector ; 
-  delete [] emcalPhotonsEnergy ;
-}
-
-//______________________________________________________________________________
-void AliEMCALQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  fhEMCALEnergy = (TH1D*)fOutputContainer->At(2);
-  fhEMCALDigits = (TH1I*)fOutputContainer->At(3);
-  fhEMCALRecParticles = (TH1D*)fOutputContainer->At(4);
-  fhEMCALPhotons = (TH1I*)fOutputContainer->At(5);
-  fhEMCALInvariantMass = (TH1D*)fOutputContainer->At(6);
-  fhEMCALDigitsEvent = (TH1I*)fOutputContainer->At(7);
-  Bool_t problem = kFALSE ; 
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-  printf("        EMCALEnergy Mean        : %5.3f , RMS : %5.3f \n", fhEMCALEnergy->GetMean(),        fhEMCALEnergy->GetRMS()        ) ;
-  printf("        EMCALDigits Mean        : %5.3f , RMS : %5.3f \n", fhEMCALDigits->GetMean(),        fhEMCALDigits->GetRMS()        ) ;
-  printf("        EMCALRecParticles Mean  : %5.3f , RMS : %5.3f \n", fhEMCALRecParticles->GetMean(),  fhEMCALRecParticles->GetRMS()  ) ;
-  printf("        EMCALPhotons Mean       : %5.3f , RMS : %5.3f \n", fhEMCALPhotons->GetMean(),       fhEMCALPhotons->GetRMS()       ) ;
-  printf("        EMCALInvariantMass Mean : %5.3f , RMS : %5.3f \n", fhEMCALInvariantMass->GetMean(), fhEMCALInvariantMass->GetRMS() ) ;
-  printf("        EMCALDigitsEvent Mean   : %5.3f , RMS : %5.3f \n", fhEMCALDigitsEvent->GetMean(),   fhEMCALDigitsEvent->GetRMS()   ) ;
-
-  TCanvas  * cEMCAL = new TCanvas("EMCAL", "EMCAL ESD Test", 400, 10, 600, 700);
-  cEMCAL->Divide(3, 2) ; 
-
-  cEMCAL->cd(1) ; 
-  if ( fhEMCALEnergy->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhEMCALEnergy->SetAxisRange(0, 25.);
-  fhEMCALEnergy->SetXTitle("Energy (GeV)");
-  fhEMCALEnergy->Draw();
-  
-  cEMCAL->cd(2) ; 
-  if ( fhEMCALDigits->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhEMCALDigits->SetAxisRange(0, 25.);
-  fhEMCALDigits->SetXTitle("DigitsPerCluster");
-  fhEMCALDigits->Draw();
-  cEMCAL->cd(3) ; 
-  if ( fhEMCALRecParticles->GetMaximum() > 0. ) 
-     gPad->SetLogy();
-  fhEMCALRecParticles->SetAxisRange(0, 25.);
-  fhEMCALRecParticles->SetXTitle("RecParticles");
-  fhEMCALRecParticles->Draw();
-  cEMCAL->cd(4) ; 
-  if ( fhEMCALPhotons->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhEMCALPhotons->SetAxisRange(0, 25.);
-  fhEMCALPhotons->SetXTitle("Photons");
-  fhEMCALPhotons->Draw();
-  cEMCAL->cd(5) ; 
-  fhEMCALInvariantMass->SetXTitle("InvariantMass (MeV/c²)");
-  fhEMCALInvariantMass->Draw();
-  cEMCAL->cd(6) ; 
-  if ( fhEMCALDigitsEvent->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhEMCALDigitsEvent->SetAxisRange(0, 40.);
-  fhEMCALDigitsEvent->SetXTitle("DigitsPerEvent");
-  fhEMCALDigitsEvent->Draw();
-  cEMCAL->Print("EMCAL.eps");
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  sprintf(line, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-  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())) ; 
-}
diff --git a/ESDCheck/AliEMCALQATask.h b/ESDCheck/AliEMCALQATask.h
deleted file mode 100644 (file)
index 5f3c3fd..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef ALIEMCALQATASK_H
-#define ALIEMCALQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// An analysis task to check the EMCAL photon data in simulated data
-// An analysis task to check the EMCAL photon data in simulated data
-// An analysis task to check the EMCAL photon data in simulated data
-//
-//*-- Yves Schutz 
-//////////////////////////////////////////////////////////////////////////////
-
-#include "AliAnalysisTask.h"  
-
-class AliESD ; 
-class TNtuple ;
-class TH1D ; 
-class TH1I ; 
-class TTree ; 
-
-class AliEMCALQATask : public AliAnalysisTask {
-
-public:
-  AliEMCALQATask(const char *name) ;
-  AliEMCALQATask(const AliEMCALQATask& ap) ;   
-  AliEMCALQATask& operator = (const AliEMCALQATask& ap) ;
-  virtual ~AliEMCALQATask() ;
-   
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-
-  // Histograms
-  TNtuple * fhEMCALPos ; // x,y 
-  TNtuple * fhEMCAL ; // all parameters
-  TH1D    * fhEMCALEnergy ; // energy
-  TH1I    * fhEMCALDigits ; // digits
-  TH1D    * fhEMCALRecParticles ; //recparticles
-  TH1I    * fhEMCALPhotons ; // photons
-  TH1D    * fhEMCALInvariantMass ; // invariant mass
-  TH1I    * fhEMCALDigitsEvent ; // digits per event
-   
-  ClassDef(AliEMCALQATask, 0); // a EMCAL photon analysis task
-};
-#endif // ALIEMCALQATASK_H
diff --git a/ESDCheck/AliFMDQATask.cxx b/ESDCheck/AliFMDQATask.cxx
deleted file mode 100644 (file)
index 3109ca6..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// An analysis task to check the FMD data in simulated data
-//
-//*-- Hans Hjersing Dalsgaard 
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h> 
-#include <TChain.h>
-#include <TF1.h> 
-#include <TFile.h> 
-#include <TH1D.h> 
-#include <TROOT.h>
-#include <TString.h> 
-
-#include "AliFMDQATask.h" 
-#include "AliESD.h" 
-#include "AliLog.h"
-
-//______________________________________________________________________________
-AliFMDQATask::AliFMDQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0),
-  fhFMD1i(0),
-  fhFMD2i(0), 
-  fhFMD2o(0), 
-  fhFMD3i(0), 
-  fhFMD3o(0) 
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-}
-
-//______________________________________________________________________________
-AliFMDQATask::~AliFMDQATask()
-{
-  // dtor
-
-  fOutputContainer->Clear() ; 
-  delete fOutputContainer ; 
-
-  delete fhFMD1i ;
-  delete fhFMD2i ; 
-  delete fhFMD2o ; 
-  delete fhFMD3i ; 
-  delete fhFMD3o ;
-
-}
-
-//______________________________________________________________________________
-void AliFMDQATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliFMDQATask::CreateOutputObjects()
-{  
-  // create histograms 
-
-  OpenFile(0) ; 
-
-  fhFMD1i = new TH1D("FMD1i", "FMD1i", 100, -0.5, 3);
-  fhFMD2i = new TH1D("FMD2i", "FMD2i", 100, -0.5, 3);
-  fhFMD2o = new TH1D("FMD2o", "FMD2o", 100, -0.5, 3);
-  fhFMD3i = new TH1D("FMD3i", "FMD3i", 100, -0.5, 3);
-  fhFMD3o = new TH1D("FMD3o", "FMD3o", 100, -0.5, 3);
-
-  // create output container
-  
-  fOutputContainer = new TObjArray(5) ; 
-  fOutputContainer->SetName(GetName()) ; 
-
-  fOutputContainer->AddAt(fhFMD1i,             0) ; 
-  fOutputContainer->AddAt(fhFMD2i,             1) ; 
-  fOutputContainer->AddAt(fhFMD2o,             2) ; 
-  fOutputContainer->AddAt(fhFMD3i,             3) ; 
-  fOutputContainer->AddAt(fhFMD3o,             4) ; 
-}
-
-//______________________________________________________________________________
-void AliFMDQATask::Exec(Option_t *) 
-{
-  // Processing of one event
-    
-  Long64_t entry = fChain->GetReadEntry() ;
-  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  TFile * currentFile = (dynamic_cast<TChain *>(fChain))->GetFile() ; 
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld", currentFile->GetName(), entry)) ; 
-           
-  // ************************  FMD *************************************
- AliESDFMD * fmd = fESD->GetFMDData() ;
- if ( ! fmd ) {
-   AliError("No FMD found in ESD") ; 
-   return ; 
- }
- fmd->CheckNeedUShort(currentFile);
-  Int_t nFMD1 = 0, nFMD2i = 0, nFMD2o = 0, nFMD3i = 0, nFMD3o = 0 ;
-  
-  UShort_t detector = 1 ;
-  for(detector = 1 ; detector <= fmd->MaxDetectors() ; detector++) {
-    Char_t ring = 'O' ;
-    UShort_t sector ; 
-    for(sector = 0 ;sector < fmd->MaxSectors() ; sector++) {
-      UShort_t strip ;
-      for(strip = 0 ; strip < fmd->MaxStrips(); strip++) {
-       if(fmd->Multiplicity(detector, ring, sector, strip) != AliESDFMD::kInvalidMult)
-         RingSelector(detector, ring, fmd->Multiplicity(detector, ring, sector, strip)) ;
-       if( (fmd->Multiplicity(detector, ring, sector, strip) == AliESDFMD::kInvalidMult) && detector == 2 )
-         nFMD2o++ ;
-       if( (fmd->Multiplicity(detector, ring, sector, strip)==AliESDFMD::kInvalidMult) && detector == 3 )
-         nFMD3o++ ;
-      }
-    }
-    ring='I';
-    for(sector = 0; sector < fmd->MaxSectors(); sector++) {
-      UShort_t strip ;
-      for(strip = 0 ; strip < fmd->MaxStrips() ; strip++) {
-       if(fmd->Multiplicity(detector, ring, sector, strip) != AliESDFMD::kInvalidMult)
-         RingSelector(detector, ring, fmd->Multiplicity(detector, ring, sector, strip));
-       if( (fmd->Multiplicity(detector, ring, sector, strip) == AliESDFMD::kInvalidMult) && detector == 1 )
-         nFMD1++;
-       if( (fmd->Multiplicity(detector, ring, sector, strip) == AliESDFMD::kInvalidMult) && detector == 2 )
-         nFMD2i++;
-       if( (fmd->Multiplicity(detector, ring, sector, strip) == AliESDFMD::kInvalidMult) && detector == 3 )
-         nFMD3i++;
-      }     
-    }
-  }
-
-  if(nFMD1>100+10240)
-    AliWarning(Form("number of missing strips in FMD1i too high in event number %lld in file %s", entry, fChain->GetCurrentFile()->GetName())) ;
-  if(nFMD2i>100+10240)
-    AliWarning(Form("number of missing strips in FMD2i too high in event number %lld in file %s", entry, fChain->GetCurrentFile()->GetName())) ;
-  if(nFMD2o>100+10240)
-    AliWarning(Form("number of missing strips in FMD2o too high in event number %lld in file %s", entry, fChain->GetCurrentFile()->GetName())) ;
-  if(nFMD3i>100+10240)
-    AliWarning(Form("number of missing strips in FMD3i too high in event number %lld in file %s", entry, fChain->GetCurrentFile()->GetName())) ;
-  if(nFMD3o>100+10240)
-    AliWarning(Form("number of missing strips in FMD3o too high in event number %lld in file %s", entry, fChain->GetCurrentFile()->GetName())) ;
-  
-  PostData(0, fOutputContainer);
-}
-
-//______________________________________________________________________________
-void AliFMDQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  if ( ! fOutputContainer ) 
-    return ; 
-
-  fhFMD1i = (TH1D*)fOutputContainer->At(0);
-  fhFMD2i = (TH1D*)fOutputContainer->At(1);
-  fhFMD2o = (TH1D*)fOutputContainer->At(2);
-  fhFMD3i = (TH1D*)fOutputContainer->At(3);
-  fhFMD3o = (TH1D*)fOutputContainer->At(4);
-
-  TCanvas * cFMD1 = new TCanvas("cFMD1", "FMD ESD Test", 400, 10, 600, 700);
-  cFMD1->Divide(3, 2) ; 
-
-  cFMD1->cd(1) ;; 
-  fhFMD1i->Draw() ; 
-  
-  cFMD1->cd(2) ;; 
-  fhFMD2i->Draw() ; 
-
-  cFMD1->cd(3) ;; 
-  fhFMD2o->Draw() ; 
-
-  cFMD1->cd(4) ;; 
-  fhFMD3i->Draw() ; 
-
-  cFMD1->cd(5) ;; 
-  fhFMD3o->Draw() ; 
-  
-  cFMD1->Print("FMD.eps") ;
-
-  Bool_t rv1i = TestHisto(fhFMD1i) ;
-  Bool_t rv2i = TestHisto(fhFMD2i) ;
-  Bool_t rv2o = TestHisto(fhFMD2o) ;
-  Bool_t rv3i = TestHisto(fhFMD2i) ;
-  Bool_t rv3o = TestHisto(fhFMD2o) ;
-  
-  if (  !(rv1i * rv2i * rv2o * rv3i * rv3o) )
-    AliWarning("Possible problem in file !!! Check output!") ;
-
-
-
-  char line[1024] ; 
-  snprintf(line, 1024, ".!tar -zcvf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  snprintf(line, 1024, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-  AliInfo(Form("!!! All the eps files are in %s.tar.gz !!! \n", GetName())) ;
-}
-
-//______________________________________________________________________________
-void AliFMDQATask::RingSelector(const UShort_t detector, const Char_t ring, const Float_t mult) const 
-{ 
-  // fill the histograms for each ring in each detector layer
-
-  if(ring == 'I' && detector == 1)
-    fhFMD1i->Fill(mult) ;
-  if(ring == 'I' && detector == 2)
-    fhFMD2i->Fill(mult) ;
-  if(ring == 'O' && detector == 2)
-    fhFMD2o ->Fill(mult) ;
-  if(ring == 'I' && detector == 3)
-    fhFMD3i ->Fill(mult) ;
-  if(ring == 'O' && detector == 3)
-    fhFMD3o ->Fill(mult) ;
-}
-//______________________________________________________________________________
-Bool_t AliFMDQATask::TestHisto(TH1D * hTest) const 
-{  
-  // analyses the histogram with a Landau function
-
-  Float_t chiMax = 3, chiLow=0.5 ;
-  Float_t chiSq ;
-  Float_t mpv ;
-  Int_t   ndf ;
-  
-  FitAll(hTest, chiSq, ndf, mpv, chiMax, chiLow);
-
-  if( (chiSq > chiMax || chiSq < chiLow) || mpv < 0.6 || mpv > 1 ) {
-    hTest->Rebin(2) ;
-    FitAll(hTest, chiSq, ndf, mpv, chiMax, chiLow) ;
-  }
-
-  Bool_t   ret   = kFALSE ;
-  const Char_t * test  = "not OK";
-  const Char_t * test2 = "not OK";
-  
-  if(chiSq < chiMax && chiSq > chiLow)
-    test = "OK" ;
-  if(mpv > 0.6 && mpv < 1)
-    test2 = "OK" ;
-  if(!strcmp(test,"OK") && !strcmp(test2,"OK"))
-    ret = kTRUE;
-  
-  if(!strcmp(test,"not OK") || !strcmp(test2,"not OK")) {
-    AliWarning("Bad fit results") ; 
-    printf("Detector : %s\n", hTest->GetName()) ;
-    printf("Landau fit Chi Square / NDF = %f / %d which is %s\n", chiSq*ndf, ndf, test) ; 
-    printf("Landau fit MPV is: %f which is %s\n", mpv, test2) ;
-  }
-  return ret;  
-}
-//______________________________________________________________________________
-void AliFMDQATask::FitAll(TH1D* hTest, Float_t &chiSq, Int_t &ndf, Float_t &mpv, Float_t chiMax, Float_t chiLow ) const 
-{
-  // fit a histogram with a Landau distribution and returns chi square
-
-  Float_t fitMax = hTest->GetXaxis()->GetXmax() ;
-
-  TH1D hTmp = *hTest ;
-  hTmp.SetAxisRange(0.4,fitMax) ;
-  Int_t   maxBin = hTmp.GetMaximumBin();
-  Float_t max    = hTmp.GetBinCenter(maxBin);
-  hTest->Fit("landau", "QOI", "", max-0.3, fitMax) ;
-  TF1* fitfunc = hTest->GetFunction("landau") ;
-  chiSq = fitfunc->GetChisquare() / fitfunc->GetNDF() ;
-  mpv   = fitfunc->GetParameter(1) ;
-  ndf   = fitfunc->GetNDF() ;
-
-  if( ( chiSq > chiMax || chiSq < chiLow ) || ( mpv < 0.6 || mpv > 1 ) ) {
-    hTest->Fit("landau", "QOI", "", max-0.2, fitMax) ;
-    fitfunc = hTest->GetFunction("landau") ;
-    chiSq   = fitfunc->GetChisquare() / fitfunc->GetNDF() ;
-    mpv     = fitfunc->GetParameter(1) ;
-    ndf     = fitfunc->GetNDF() ;
-  }
-  if( ( chiSq >chiMax || chiSq < chiLow ) || ( mpv < 0.6 || mpv > 1 ) ) {
-    hTest->Fit("landau", "QOI", "", max-0.1, fitMax) ;
-    fitfunc = hTest->GetFunction("landau") ;
-    chiSq   = fitfunc->GetChisquare() / fitfunc->GetNDF() ;
-    mpv     = fitfunc->GetParameter(1) ;
-    ndf     = fitfunc->GetNDF() ;
-  }
-  if( ( chiSq > chiMax || chiSq <chiLow ) || ( mpv < 0.6 || mpv > 1 ) ) {
-    hTest->Fit("landau", "QOI", "", max, fitMax) ;
-    fitfunc = hTest->GetFunction("landau") ;
-    chiSq   = fitfunc->GetChisquare() / fitfunc->GetNDF() ;
-    mpv     = fitfunc->GetParameter(1) ;
-    ndf     = fitfunc->GetNDF(); 
-  }
-  if( ( chiSq > chiMax || chiSq < chiLow ) || ( mpv < 0.6 ||mpv > 1 ) ) {
-    hTest->Fit("landau", "QOI", "", max+0.1, fitMax) ;
-    fitfunc = hTest->GetFunction("landau") ;
-    chiSq   = fitfunc->GetChisquare() / fitfunc->GetNDF() ;
-    mpv     = fitfunc->GetParameter(1) ;
-    ndf     = fitfunc->GetNDF() ;
-  } 
-}
diff --git a/ESDCheck/AliFMDQATask.h b/ESDCheck/AliFMDQATask.h
deleted file mode 100644 (file)
index b737811..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef ALIFMDQATASK_H
-#define ALIFMDQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//_________________________________________________________________________
-// An analysis task to check the FMD data in simulated data
-//
-//*-- Hans Hjersing Dalsgaard 
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TTree.h> 
-#include "AliAnalysisTask.h"  
-
-class AliESD ; 
-class TNtuple ;
-class TH1D ;  
-
-class AliFMDQATask : public AliAnalysisTask {
-
-public:
-  AliFMDQATask(const char *name) ;
-  virtual ~AliFMDQATask() ;
-   
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-
-  void   RingSelector(const UShort_t detector, const Char_t ring, const Float_t mult) const ;
-  Bool_t TestHisto(TH1D * hTest) const ;
-  void   FitAll(TH1D* hTest, Float_t &chiSq, Int_t &ndf, Float_t &mpv, Float_t chiMax, Float_t chiLow ) const ;
-
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-
-  // Histograms
-
-  TH1D * fhFMD1i ;//!
-  TH1D * fhFMD2i ;//! 
-  TH1D * fhFMD2o ;//! 
-  TH1D * fhFMD3i ;//! 
-  TH1D * fhFMD3o ;//! 
-
-  AliFMDQATask(const AliFMDQATask&); // Not implemented
-  AliFMDQATask& operator=(const AliFMDQATask&); // Not implemented
-  
-  ClassDef(AliFMDQATask, 0); // a FMD photon analysis task 
-};
-#endif // ALIFMDQATASK_H
diff --git a/ESDCheck/AliHMPIDQATask.cxx b/ESDCheck/AliHMPIDQATask.cxx
deleted file mode 100644 (file)
index fb545b6..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// An analysis task to check the HMPID data in simulated data
-//
-//*-- Annalisa Mastroserio
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TF1.h>
-#include <TFile.h> 
-#include <TH1F.h>
-#include <TH2F.h>
-#include <TLegend.h> 
-#include <TROOT.h>
-#include <TVector3.h> 
-#include <TString.h> 
-
-#include "AliHMPIDQATask.h" 
-#include "AliESD.h" 
-#include "AliLog.h"
-#include "AliPID.h"
-
-//______________________________________________________________________________
-AliHMPIDQATask::AliHMPIDQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0),
-  fhHMPIDCkovP(0),
-  fhHMPIDMipXY(0),
-  fhHMPIDDifXY(0),
-  fhHMPIDSigP(0)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-
-  Int_t i ; 
-  for(i = 0 ; i < 5 ; i++) 
-    fhHMPIDProb[i]=0;
-}
-
-//______________________________________________________________________________
-AliHMPIDQATask::~AliHMPIDQATask()
-{
-  // dtor
-  fOutputContainer->Clear() ; 
-  delete fOutputContainer ; 
-  
-  delete fhHMPIDCkovP ;  
-  delete fhHMPIDMipXY ;  
-  delete fhHMPIDDifXY ;  
-  delete fhHMPIDSigP ;
-  for (Int_t i=0; i<5; i++)
-    delete fhHMPIDProb[i] ;
-}
-
-//______________________________________________________________________________
-void AliHMPIDQATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliHMPIDQATask::CreateOutputObjects()
-{  
-  // create histograms 
-
-  OpenFile(0) ; 
-
-  fhHMPIDCkovP    = new TH2F("CkovP" , "#theta_{c}, [rad];P, [GeV]", 150,   0,  7  ,100, -3, 1); 
-  fhHMPIDSigP     = new TH2F("SigP"  ,"#sigma_{#theta_c}"          , 150,   0,  7  ,100, 0, 1e20);
-  fhHMPIDMipXY    = new TH2F("MipXY" ,"mip position"               , 260,   0,130  ,252,0,126); 
-  fhHMPIDDifXY    = new TH2F("DifXY" ,"diff"                       , 260, -10, 10  ,252,-10,10); 
-  
-  fhHMPIDProb[0] = new TH1F("PidE" ,"PID: e yellow #mu magenta"  ,100,0,1); 
-  fhHMPIDProb[0]->SetLineColor(kYellow);
-  fhHMPIDProb[1] = new TH1F("PidMu","pid of #mu"                 ,100,0,1); 
-  fhHMPIDProb[1]->SetLineColor(kMagenta);
-  fhHMPIDProb[2] = new TH1F("PidPi","PID: #pi red K green p blue",100,0,1); 
-  fhHMPIDProb[2]->SetLineColor(kRed);
-  fhHMPIDProb[3] = new TH1F("PidK" ,"pid of K"                   ,100,0,1); 
-  fhHMPIDProb[3]->SetLineColor(kGreen);
-  fhHMPIDProb[4] = new TH1F("PidP" ,"pid of p"                   ,100,0,1); 
-  fhHMPIDProb[4]->SetLineColor(kBlue);
-
-  
-  // create output container
-  
-  fOutputContainer = new TObjArray(9) ; 
-  fOutputContainer->SetName(GetName()) ; 
-
-  fOutputContainer->AddAt(fhHMPIDCkovP,      0) ; 
-  fOutputContainer->AddAt(fhHMPIDSigP,       1) ; 
-  fOutputContainer->AddAt(fhHMPIDMipXY,      2) ; 
-  fOutputContainer->AddAt(fhHMPIDDifXY,      3) ; 
-  fOutputContainer->AddAt(fhHMPIDProb[0],    4) ; 
-  fOutputContainer->AddAt(fhHMPIDProb[1],    5) ; 
-  fOutputContainer->AddAt(fhHMPIDProb[2],    6) ; 
-  fOutputContainer->AddAt(fhHMPIDProb[3],    7) ; 
-  fOutputContainer->AddAt(fhHMPIDProb[4],    8) ; 
-}
-
-//______________________________________________________________________________
-void AliHMPIDQATask::Exec(Option_t *) 
-{
-  // Processing of one event
-    
-  Long64_t entry = fChain->GetReadEntry() ;
-  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  // ************************  HMPID *************************************
-  Int_t iTrk ; 
-  for(iTrk = 0 ; iTrk < fESD->GetNumberOfTracks() ; iTrk++){
-    AliESDtrack *pTrk = fESD->GetTrack(iTrk) ;
-
-    fhHMPIDCkovP->Fill( pTrk->GetP(), pTrk->GetHMPIDsignal() ) ; 
-    fhHMPIDSigP ->Fill( pTrk->GetP(), TMath::Sqrt(pTrk->GetHMPIDchi2()) ) ;
-     
-//     Float_t xm,ym; Int_t q,np;  pTrk->GetHMPIDmip(xm,ym,q,np);  fMipXY->Fill(xm,ym); //mip info
-//     Float_t xd,yd,th,ph;        pTrk->GetHMPIDtrk(xd,yd,th,ph); fDifXY->Fill(xd,yd); //track info 
-     
-    Double_t pid[5] ;  
-    pTrk->GetHMPIDpid(pid) ; 
-    Int_t i ; 
-    for(i = 0 ; i < 5 ; i++) 
-      fhHMPIDProb[i]->Fill(pid[i]) ;
-  }//tracks loop 
-       
-  PostData(0, fOutputContainer);
-}
-
-//______________________________________________________________________________
-void AliHMPIDQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  fhHMPIDCkovP   = (TH2F*)fOutputContainer->At(0);
-  fhHMPIDSigP    = (TH2F*)fOutputContainer->At(1);
-  fhHMPIDMipXY   = (TH2F*)fOutputContainer->At(2);
-  fhHMPIDDifXY   = (TH2F*)fOutputContainer->At(3);
-  fhHMPIDProb[0] = (TH1F*)fOutputContainer->At(4);
-  fhHMPIDProb[1] = (TH1F*)fOutputContainer->At(5);
-  fhHMPIDProb[2] = (TH1F*)fOutputContainer->At(6);
-  fhHMPIDProb[3] = (TH1F*)fOutputContainer->At(7);
-  fhHMPIDProb[4] = (TH1F*)fOutputContainer->At(8);
-
-  Bool_t problem = kFALSE ; 
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-
-  Float_t n = 1.292 ; //mean freon ref idx 
-  TF1 * hHMPIDpPi = new TF1("RiPiTheo", "acos(sqrt(x*x+[0]*[0])/(x*[1]))", 1.2, 7) ; 
-  hHMPIDpPi->SetLineWidth(1) ; 
-  hHMPIDpPi->SetParameter(1,n) ; 
-
-  AliPID ppp ;                 
-  hHMPIDpPi->SetLineColor(kRed);   
-  hHMPIDpPi->SetParameter(0,AliPID::ParticleMass(AliPID::kPion));    //mass
-
-  TF1 * hHMPIDK = static_cast<TF1*>(hHMPIDpPi->Clone()) ; 
-  hHMPIDK ->SetLineColor(kGreen) ; 
-  hHMPIDK ->SetParameter(0, AliPID::ParticleMass(AliPID::kKaon)) ; 
-
-  TF1 * hHMPIDP=static_cast<TF1*>(hHMPIDpPi->Clone()) ; 
-  hHMPIDP ->SetLineColor(kBlue) ;  
-  hHMPIDP ->SetParameter(0,AliPID::ParticleMass(AliPID::kProton)) ; 
-
-  TCanvas * cHMPID = new TCanvas("cHMPID","HMPID ESD Test") ;
-  cHMPID->SetFillColor(10) ; 
-  cHMPID->SetHighLightColor(10) ; 
-  cHMPID->Divide(3,2) ;
-
-  cHMPID->cd(1); 
-  fhHMPIDCkovP->Draw() ; 
-  hHMPIDpPi->Draw("same") ; 
-  hHMPIDK->Draw("same") ; 
-  hHMPIDP->Draw("same") ;   
-
-  cHMPID->cd(2) ; 
-  fhHMPIDMipXY->Draw() ;   
-
-  cHMPID->cd(3) ; 
-  fhHMPIDProb[0]->Draw() ; 
-  fhHMPIDProb[1]->Draw("same") ;
-  
-  cHMPID->cd(4) ; 
-  fhHMPIDSigP ->Draw() ;                                                          
-
-  cHMPID->cd(5) ; 
-  fhHMPIDDifXY->Draw() ;   
-
-  cHMPID->cd(6) ; 
-  fhHMPIDProb[2]->Draw() ; 
-  fhHMPIDProb[3]->Draw("same") ; 
-  fhHMPIDProb[4]->Draw("same") ; 
-
-  cHMPID->Print("HMPID.eps");
-  
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  sprintf(line, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-  
-  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())) ; 
-}
diff --git a/ESDCheck/AliHMPIDQATask.h b/ESDCheck/AliHMPIDQATask.h
deleted file mode 100644 (file)
index 1e27fea..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef ALIHMPIDQATASK_H
-#define ALIHMPIDQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// An analysis task to check the HMPID data in simulated data
-//
-//*-- Annalisa Mastroserio
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TTree.h> 
-#include "AliAnalysisTask.h"  
-
-class AliESD ; 
-class TH1F ; 
-class TH2F ; 
-
-class AliHMPIDQATask : public AliAnalysisTask {
-
-public:
-  AliHMPIDQATask(const char *name) ;
-  virtual ~AliHMPIDQATask() ;
-   
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-
-  // Histograms
-  TH2F * fhHMPIDCkovP ;  //!
-  TH2F * fhHMPIDMipXY ;  //!
-  TH2F * fhHMPIDDifXY ;  //!
-  TH2F * fhHMPIDSigP ;   //!
-  TH1F * fhHMPIDProb[5] ;//!
-
-  AliHMPIDQATask(const AliHMPIDQATask&); // Not implemented
-  AliHMPIDQATask& operator=(const AliHMPIDQATask&); // Not implemented
-  
-  ClassDef(AliHMPIDQATask, 0); // a HMPID photon analysis task 
-};
-#endif // ALIHMPIDQATASK_H
diff --git a/ESDCheck/AliMUONQATask.cxx b/ESDCheck/AliMUONQATask.cxx
deleted file mode 100644 (file)
index 34564c4..0000000
+++ /dev/null
@@ -1,389 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-/// An analysis task to check the MUON data in simulated data
-/// This class checks out the ESD tree, providing the matching with
-/// the trigger,trigger responses for Low and High Pt cuts
-/// (in Single, Unlike Sign and Like Sign) and gives Pt, Y, ITS vertex
-/// and multiplicity distributions. All results are in histogram form.
-/// The output is a root file and eps files in MUON.tar.gz. 
-
-//*-- Frederic Yermia, yermia@to.infn.it
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h>
-#include <TH1F.h>
-#include <TROOT.h>
-#include <TLorentzVector.h>
-#include <TString.h> 
-
-#include "AliMUONQATask.h" 
-#include "AliESD.h" 
-#include "AliLog.h"
-#include "AliESDVertex.h" 
-#include "AliESDMuonTrack.h"
-#include <TLorentzVector.h>
-//______________________________________________________________________________
-AliMUONQATask::AliMUONQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0),
-  fV1(),
-  fnTrackTrig(0), 
-  ftracktot(0),
-  fnevents(0),
-  fSLowpt(0),
-  fUSLowpt(0),
-  fUSHighpt(0),
-  fLSLowpt(0),
-  fLSHighpt(0),
-  fmuonMass(0.105658389),
-  fthetaX(0),
-  fthetaY(0),
-  fpYZ(0),
-  fPxRec1(0),
-  fPyRec1(0),
-  fPzRec1(0),
-  fE1(0),
-  fZ1(0),
-  fhMUONVertex(0),
-  fhMUONMult(0),
-  fhPt(0),
-  fhY(0),
-  fheffMatchT(0),
-  fhSLowpt(0),
-  fhUSLowpt(0),
-  fhUSHighpt(0),
-  fhLSLowpt(0),
-  fhLSHighpt(0),
-  fhChi2(0),  
-  fhChi2match(0)  
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-
-}
-
-
-//______________________________________________________________________________
-AliMUONQATask::~AliMUONQATask()
-{ 
-  // dtor
-   fOutputContainer->Clear() ; 
-   delete fOutputContainer ; 
-  
-   delete fhMUONVertex ; 
-   delete fhMUONMult ; 
-   delete fhPt ; 
-   delete fhY ;
-   delete fheffMatchT ;
-   delete fhSLowpt ;
-   delete fhUSLowpt ;
-   delete fhUSHighpt;
-   delete fhLSLowpt ;
-   delete fhLSHighpt;
-   delete fhChi2   ;  
-   delete fhChi2match ;
-}
-
-//______________________________________________________________________________
-void AliMUONQATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliMUONQATask::CreateOutputObjects()
-{  
-  // create histograms 
-
-  OpenFile(0) ; 
-
-  fhMUONVertex = new TH1F("hMUONVertex","ITS Vertex"                ,100, -25., 25.);
-  fhMUONMult   = new TH1F("hMUONMult"  ,"Multiplicity of ESD tracks",10,  -0.5, 9.5);
-  fhPt = new TH1F("hPt","Pt",100, 0.,20.);
-  fhY = new TH1F("hY","Rapidity",100,-5.,-1.);
-  fheffMatchT =  new TH1F("heff_matchT","Trigger Matching Efficiency",100, 0.,100.);
-  fhSLowpt = new TH1F("hSLowpt","Single Low Pt Response (%)",101, 0.,101.);
-  fhUSLowpt = new TH1F("hUSLowpt","Unlike Sign Low Pt Response (%)",101, 0.,101.);
-  fhUSHighpt = new TH1F("hUSHighpt","Unlike Sign High Pt Response (%)",101, 0.,101.);
-  fhLSLowpt = new TH1F("hLSLowpt","Like Sign Low Pt Response (%)",101, 0.,101.);
-  fhLSHighpt = new TH1F("hLSHighpt","Like Sign High Pt Response (%)",101, 0.,101.);
-  fhChi2 = new TH1F("hChi2","Chi2 by d.o.f.",100, 0.,20.);
-  fhChi2match = new TH1F("hChi2match","Chi2 of trig/track matching",100, 0.,20.);
-  // create output container
-  
-  fOutputContainer = new TObjArray(12) ; 
-  fOutputContainer->SetName(GetName()) ; 
-  fOutputContainer->AddAt(fhMUONVertex,             0) ; 
-  fOutputContainer->AddAt(fhMUONMult,               1) ; 
-  fOutputContainer->AddAt(fhPt,                     2) ; 
-  fOutputContainer->AddAt(fhY,                      3) ; 
-  fOutputContainer->AddAt(fheffMatchT,              4) ;
-  fOutputContainer->AddAt(fhSLowpt,                 5) ;
-  fOutputContainer->AddAt(fhUSLowpt,                6) ;
-  fOutputContainer->AddAt(fhUSHighpt,               7) ;
-  fOutputContainer->AddAt(fhLSLowpt,                8) ;
-  fOutputContainer->AddAt(fhLSHighpt,               9) ;
-  fOutputContainer->AddAt(fhChi2,                  10) ;
-  fOutputContainer->AddAt( fhChi2match,            11) ;
-}
-
-//______________________________________________________________________________
-void AliMUONQATask::Exec(Option_t *) 
-{
-  // Processing of one event
-    
-  fnevents++ ; 
-
-  Long64_t entry = fChain->GetReadEntry() ;
-  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  // ************************  MUON *************************************
-    
-  const AliESDVertex* vertex = dynamic_cast<const AliESDVertex*>(fESD->GetVertex()) ;
-
-  Double_t zVertex = 0. ;
-  if (vertex) 
-    zVertex = vertex->GetZv() ;
-  
-  Int_t nTracks = fESD->GetNumberOfMuonTracks() ;
-  
-  ULong64_t trigWord = fESD->GetTriggerMask() ;
-
-  if (trigWord & 0x80) {
-        fSLowpt++;
-  }
-  if (trigWord & 0x100){
-    fLSLowpt++;
-  } 
-  if (trigWord & 0x200){
-    fLSHighpt++;
-  }  
-  if (trigWord & 0x400){
-    fUSLowpt++;
-  }
-  if (trigWord & 0x800){
-    fUSHighpt++;
-  }
-
-  Int_t tracktrig  = 0 ;
-  Int_t iTrack1 ; 
-  
-  for (iTrack1 = 0 ; iTrack1 < nTracks ; iTrack1++) { //1st loop
-    AliESDMuonTrack* muonTrack = fESD->GetMuonTrack(iTrack1) ;
-    ftracktot++ ;
-      fthetaX = muonTrack->GetThetaX();
-      fthetaY = muonTrack->GetThetaY();
-      fpYZ     =  1./TMath::Abs(muonTrack->GetInverseBendingMomentum());
-      fPzRec1  = - fpYZ / TMath::Sqrt(1.0 + TMath::Tan(fthetaY)*TMath::Tan(fthetaY));
-      fPxRec1  = fPzRec1 * TMath::Tan(fthetaX);
-      fPyRec1  = fPzRec1 * TMath::Tan(fthetaY);
-      fZ1 = Int_t(TMath::Sign(1.,muonTrack->GetInverseBendingMomentum()));
-      fE1 = TMath::Sqrt(fmuonMass * fmuonMass + fPxRec1 * fPxRec1 + fPyRec1 * fPyRec1 + fPzRec1 * fPzRec1);
-      fV1.SetPxPyPzE(fPxRec1, fPyRec1, fPzRec1, fE1);
-
-      // -----------> transverse momentum
-      Float_t pt1 = fV1.Pt();
-      // ----------->Rapidity
-      Float_t y1 = fV1.Rapidity();
-  
-    if(muonTrack->GetMatchTrigger()) {
-      fnTrackTrig++ ;
-      tracktrig++ ;
-      Float_t  Chi2match = muonTrack->GetChi2MatchTrigger();
-      fhChi2match->Fill(Chi2match);
-    }
-
-     Float_t   fitfmin  = muonTrack->GetChi2();
-     Int_t    ntrackhits = muonTrack->GetNHit();
-     Float_t Chi2= fitfmin  / (2.0 * ntrackhits - 5);
-    
-     fhChi2->Fill(Chi2);
-     fhPt->Fill(pt1);
-     fhY->Fill(y1);
-  }
-  
-  fhMUONVertex->Fill(zVertex) ;
-  fhMUONMult->Fill(Float_t(nTracks)) ;
-  
-  PostData(0, fOutputContainer);  
-}
-
-//______________________________________________________________________________
-void AliMUONQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-    Int_t fSLowPt = fSLowpt;
-   if(fnevents){
-     fSLowPt = 100 * fSLowpt / fnevents ;
-     fhSLowpt->Fill(fSLowPt); }
-    Int_t fUSLowPt = fUSLowpt;
-   if(fnevents){
-     fUSLowPt = 100 * fUSLowpt / fnevents ;
-     fhUSLowpt->Fill(fUSLowPt); }
-    Int_t fUSHighPt = fUSHighpt;
-    if(fnevents){
-      fUSHighPt = 100 * fUSHighpt / fnevents ;
-      fhUSHighpt->Fill(fUSHighPt); }
-    Int_t fLSLowPt = fLSLowpt;
-    if(fnevents){
-      fLSLowPt = 100 * fLSLowpt / fnevents ;
-      fhLSLowpt->Fill(fLSLowPt); }
-    Int_t fLSHighPt = fLSHighpt;
-    if(fnevents){
-      fLSHighPt = 100 * fLSHighpt / fnevents ;
-      fhLSHighpt->Fill(fLSHighPt); }
-  
-    Int_t effMatch = -1 ; 
-    if (ftracktot){ 
-      effMatch = 100 * fnTrackTrig / ftracktot ;
-      fheffMatchT->Fill(effMatch);}
-
-    Bool_t problem = kFALSE ; 
-    AliInfo(Form(" *** %s Report:", GetName())) ; 
-
-    fOutputContainer = (TObjArray*)GetOutputData(0);
-    fhMUONVertex = (TH1F*)fOutputContainer->At(0);
-    fhMUONMult   = (TH1F*)fOutputContainer->At(1); 
-    fhPt  = (TH1F*)fOutputContainer->At(2); 
-    fhY  = (TH1F*)fOutputContainer->At(3); 
-    fheffMatchT=(TH1F*)fOutputContainer->At(4); 
-    fhSLowpt=(TH1F*)fOutputContainer->At(5); 
-    fhUSLowpt=(TH1F*)fOutputContainer->At(6); 
-    fhUSHighpt=(TH1F*)fOutputContainer->At(7);
-    fhLSLowpt=(TH1F*)fOutputContainer->At(8); 
-    fhLSHighpt=(TH1F*)fOutputContainer->At(9);
-    
-    printf("         Total number of processed events  %d      \n", fnevents) ;
-    printf("     \n")  ;
-    printf("     \n")  ;
-    printf("     Table 1:                                         \n") ;
-    printf("    ===================================================\n") ;
-    printf("      Global Trigger output       Low pt  High pt \n") ;
-    printf("     number of Single      :\t");
-    printf("     %i\t", fSLowpt) ;
-    printf("\n");
-    printf("     number of UnlikeSign pair  :\t"); 
-    printf("     %i\t%i\t", fUSLowpt, fUSHighpt) ;
-    printf("\n");
-    printf("     number of LikeSign pair    :\t");  
-    printf("     %i\t%i\t", fLSLowpt, fLSHighpt) ;
-    printf("\n");
-    printf("     matching efficiency with the trigger for single tracks = %2d %% \n", effMatch);
-    printf("\n") ;
-    
-    TCanvas * cMUON1 = new TCanvas("cMUON1", "MUON ESD Vert & Mult", 400, 10, 600, 700) ;
-    cMUON1->Divide(1,2) ;
-    cMUON1->cd(1) ;
-    fhMUONVertex->SetXTitle("Vz (cm)");
-    fhMUONVertex->Draw() ;
-    cMUON1->cd(2) ;
-    fhMUONMult->SetXTitle(" Track Multiplicity");
-    fhMUONMult->Draw() ;
-    cMUON1->Print("MUON1.eps") ; 
-    
-    TCanvas * cMUON2 = new TCanvas("cMUON2", "MUON ESD Pt & Y", 400, 10, 600, 700) ;
-    cMUON2->Divide(1,2) ;
-    cMUON2->cd(1) ;
-    fhPt->SetXTitle("Pt (GeV)");
-    fhPt->Draw() ;
-    cMUON2->cd(2) ;
-    fhY->SetXTitle("Y");
-    fhY->Draw() ;
-    cMUON2->Print("MUON2.eps") ;
-    
-    TCanvas * cMUON3 = new TCanvas("cMUON3", "Track Chi2 by dof and Chi2 of trigger/track matching ", 400, 10, 600, 700) ;
-    cMUON3->Divide(1,2) ;
-    cMUON3->cd(1) ;
-    fhChi2->SetXTitle("Chi2 by d.o.f.");
-    fhChi2->Draw();
-    cMUON3->cd(2) ;
-    fhChi2match->SetXTitle("Chi2 of trig/track matching");
-    fhChi2match->Draw();
-    cMUON3->Print("MUON3.eps") ;
-    
-    TCanvas * cMUON4 = new TCanvas("cMUON4", "Trigger Matching and Trigger Response (%)", 400, 10, 600, 700) ;
-    cMUON4->Divide(2,3) ;
-    cMUON4->cd(1) ;
-    fheffMatchT->SetXTitle("%");
-    fheffMatchT->Draw() ;
-    cMUON4->cd(2) ;
-    fhSLowpt->SetXTitle("%");
-    fhSLowpt->Draw() ;
-    cMUON4->cd(3) ;
-    fhUSLowpt->SetXTitle("%");
-    fhUSLowpt->Draw() ;
-    cMUON4->cd(4) ;
-    fhUSHighpt->SetXTitle("%");
-    fhUSHighpt->Draw() ;
-    cMUON4->cd(5) ;
-    fhLSLowpt->SetXTitle("%");
-    fhLSLowpt->Draw() ;
-    cMUON4->cd(6) ;
-    fhLSHighpt->SetXTitle("%");
-    fhLSHighpt->Draw() ;
-    cMUON4->Print("MUON4.eps") ;
-    
-    char line[1024] ; 
-    sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-    gROOT->ProcessLine(line);
-    sprintf(line, ".!rm -fR *.eps"); 
-    gROOT->ProcessLine(line);
-    
-    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())) ; 
-}
diff --git a/ESDCheck/AliMUONQATask.h b/ESDCheck/AliMUONQATask.h
deleted file mode 100644 (file)
index ed7b241..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef ALIMUONQATASK_H
-#define ALIMUONQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-/// An analysis task to check the MUON data in simulated data
-/// This class checks out the ESD tree, providing the matching with
-/// the trigger,trigger responses for Low and High Pt cuts
-/// (in Single, Unlike Sign and Like Sign) and gives Pt, Y, ITS vertex
-/// and multiplicity distributions. All results are in histogram form.
-/// The output is a root file and eps files in MUON.tar.gz. 
-
-//*-- Frederic Yermia
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TLorentzVector.h>
-#include "AliAnalysisTask.h"  
-
-class AliESD ; 
-class TH1F ;
-class Tree ; 
-class AliMUONQATask : public AliAnalysisTask {
-
-public:
-  AliMUONQATask(const char *name) ;
-  virtual ~AliMUONQATask() ;
-   
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-  
-  TLorentzVector fV1; //! Lorentz Momentum
-  Int_t fnTrackTrig ; //! Number of trigger matching tracks
-  Int_t ftracktot   ; //! Number of ESD tracks
-  Int_t fnevents    ; //! Number of events
-  Int_t fSLowpt     ; //! Single trigger response
-  Int_t fUSLowpt    ; //! Unlike Sign Low trigger response
-  Int_t fUSHighpt   ; //! Unlike Sign High trigger response
-  Int_t fLSLowpt    ; //! Like Sign Low trigger response
-  Int_t fLSHighpt   ; //! Like Sign High trigger response
-  Float_t fmuonMass ; //! Muon mass
-  Double_t fthetaX  ; //! Angle of track at vertex in X direction (rad)
-  Double_t fthetaY  ; //! Angle of track at vertex in Y direction (rad)
-  Double_t fpYZ     ; //! Bending Momentum
-  Double_t fPxRec1  ; //! X rec. Momentum
-  Double_t fPyRec1  ; //! Y rec. Momentum
-  Double_t fPzRec1  ; //! Z rec. Momentum
-  Double_t fE1      ; //! Muon Enenrgy
-  Int_t fZ1         ; //! Z coordinate (cm)
-
-  // Histograms
-  TH1F * fhMUONVertex ; //! ITS Z-Vertex
-  TH1F * fhMUONMult   ; //! Track Multilicity
-  TH1F * fhPt   ;       //! Track transverse momentum
-  TH1F * fhY   ;        //!  Track rapidity
-  TH1F * fheffMatchT ;  //! Efficiency of trigger matching
-  TH1F * fhSLowpt ;     //! Percent of single response
-  TH1F * fhUSLowpt ;    //! Percent of US Low response
-  TH1F * fhUSHighpt ;   //! Percent of US High response
-  TH1F * fhLSLowpt ;    //! Percent of LS Low response
-  TH1F * fhLSHighpt ;   //! Percent of LS High response
-  TH1F * fhChi2   ;      //! Track Chi Square by d.o.f.
-  TH1F * fhChi2match ;  //! Chi2 of trigger/track matching 
-
-  AliMUONQATask(const AliMUONQATask&); // Not implemented
-  AliMUONQATask& operator=(const AliMUONQATask&); // Not implemented
-
-  ClassDef(AliMUONQATask, 0); // a MUON photon analysis task 
-};
-#endif // ALIMUONQATASK_H
diff --git a/ESDCheck/AliPHOSQATask.cxx b/ESDCheck/AliPHOSQATask.cxx
deleted file mode 100644 (file)
index 4fbc929..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// 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 <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h> 
-#include <TH1.h>
-#include <TNtuple.h>
-#include <TROOT.h> 
-#include <TVector3.h> 
-#include <TString.h> 
-
-#include "AliPHOSQATask.h" 
-#include "AliESD.h" 
-#include "AliLog.h"
-
-//______________________________________________________________________________
-AliPHOSQATask::AliPHOSQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0),
-  fhPHOSPos(0),
-  fhPHOS(0),
-  fhPHOSEnergy(0),
-  fhPHOSDigits(0),
-  fhPHOSRecParticles(0),
-  fhPHOSPhotons(0),
-  fhPHOSInvariantMass(0),
-  fhPHOSDigitsEvent(0)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  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()
-{
-  // dtor
-  fOutputContainer->Clear() ; 
-  delete fOutputContainer ;
-
-  delete fhPHOSPos ;
-  delete fhPHOS ;
-  delete fhPHOSEnergy ;
-  delete fhPHOSDigits ;
-  delete fhPHOSRecParticles ;
-  delete fhPHOSPhotons ;
-  delete fhPHOSInvariantMass ;
-  delete fhPHOSDigitsEvent ;
-}
-
-
-//______________________________________________________________________________
-void AliPHOSQATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliPHOSQATask::CreateOutputObjects()
-{  
-  // 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. ) ;
-  fhPHOSDigits         = new TH1I("PHOSDigitsCluster"  , "PHOSDigits"        , 20 , 0 , 20  ) ;
-  fhPHOSRecParticles   = new TH1D("PHOSRecParticles"   , "PHOSRecParticles" , 20 , 0., 20. ) ;
-  fhPHOSPhotons        = new TH1I("PHOSPhotons"        , "PHOSPhotons"       , 20 , 0 , 20  ) ;
-  fhPHOSInvariantMass  = new TH1D("PHOSInvariantMass"  , "PHOSInvariantMass" , 400, 0., 400.) ;
-  fhPHOSDigitsEvent    = new TH1I("PHOSDigitsEvent"    , "PHOSDigitsEvent"   , 30 , 0 , 30  ) ;
-  
-  // create output container
-  
-  fOutputContainer = new TObjArray(8) ; 
-  fOutputContainer->SetName(GetName()) ; 
-
-  fOutputContainer->AddAt(fhPHOSPos,             0) ; 
-  fOutputContainer->AddAt(fhPHOS,                1) ; 
-  fOutputContainer->AddAt(fhPHOSEnergy,          2) ; 
-  fOutputContainer->AddAt(fhPHOSDigits,          3) ; 
-  fOutputContainer->AddAt(fhPHOSRecParticles,    4) ; 
-  fOutputContainer->AddAt(fhPHOSPhotons,         5) ; 
-  fOutputContainer->AddAt(fhPHOSInvariantMass,   6) ; 
-  fOutputContainer->AddAt(fhPHOSDigitsEvent,     7) ; 
-}
-
-//______________________________________________________________________________
-void AliPHOSQATask::Exec(Option_t *) 
-{
-  // Processing of one event
-    
-  Long64_t entry = fChain->GetReadEntry() ;
-  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  //************************  PHOS *************************************
-      
-  Int_t       firstPhosCluster       = fESD->GetFirstPHOSCluster() ;
-  const Int_t kNumberOfPhosClusters   = fESD->GetNumberOfPHOSClusters() ;
-  
-  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 + kNumberOfPhosClusters ; phosCluster++) {
-    AliESDCaloCluster * caloCluster = fESD->GetCaloCluster(phosCluster) ;
-    if (caloCluster) {
-      Float_t pos[3] ;
-      caloCluster->GetPosition( pos ) ;
-      fhPHOSEnergy->Fill( caloCluster->E() ) ;
-      fhPHOSPos->Fill( pos[0], pos[1], pos[2] ) ;
-      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->E() ;
-       numberOfPhotonsInPhos++;
-      }
-    }
-  } //PHOS clusters
-    
-  fhPHOSRecParticles->Fill(kNumberOfPhosClusters);
-  fhPHOSPhotons->Fill(numberOfPhotonsInPhos);
-  fhPHOSDigitsEvent->Fill(numberOfDigitsInPhos);
-  fhPHOS->Fill(entry, numberOfDigitsInPhos, kNumberOfPhosClusters, numberOfPhotonsInPhos) ; 
-
-  // invariant Mass
-  if (numberOfPhotonsInPhos > 1 ) {
-    Int_t phosPhoton1, phosPhoton2 ; 
-    for(phosPhoton1 = 0 ; phosPhoton1 < numberOfPhotonsInPhos ; phosPhoton1++) {
-      for(phosPhoton2 = phosPhoton1 + 1 ; phosPhoton2 < numberOfPhotonsInPhos ; phosPhoton2++) {      
-       Float_t tempMass = TMath::Sqrt( 2 * phosPhotonsEnergy[phosPhoton1] * phosPhotonsEnergy[phosPhoton2] *
-                                       ( 1 - TMath::Cos(phosVector[phosPhoton1]->Angle(*phosVector[phosPhoton2])) ) 
-                                       );
-       fhPHOSInvariantMass->Fill(tempMass*1000.);
-      }
-    }    
-  }
-  
-  PostData(0, fOutputContainer);
-
-  delete [] phosVector ; 
-  delete [] phosPhotonsEnergy ; 
-  
-}
-
-//______________________________________________________________________________
-void AliPHOSQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-
-  fOutputContainer = (TObjArray*)GetOutputData(0);  
-  fhPHOSPos            = (TNtuple*)fOutputContainer->At(0);
-  fhPHOS               = (TNtuple*)fOutputContainer->At(1);
-  fhPHOSEnergy         = (TH1D*)fOutputContainer->At(2);
-  fhPHOSDigits         = (TH1I*)fOutputContainer->At(3);
-  fhPHOSRecParticles   = (TH1D*)fOutputContainer->At(4);
-  fhPHOSPhotons        = (TH1I*)fOutputContainer->At(5);
-  fhPHOSInvariantMass  = (TH1D*)fOutputContainer->At(6);
-  fhPHOSDigitsEvent    = (TH1I*)fOutputContainer->At(7);
-
-  Bool_t problem = kFALSE ; 
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-  printf("        PHOSEnergy Mean         : %5.3f , RMS : %5.3f \n", fhPHOSEnergy->GetMean(),         fhPHOSEnergy->GetRMS()         ) ;
-  printf("        PHOSDigits Mean         : %5.3f , RMS : %5.3f \n", fhPHOSDigits->GetMean(),         fhPHOSDigits->GetRMS()         ) ;
-  printf("        PHOSRecParticles Mean   : %5.3f , RMS : %5.3f \n", fhPHOSRecParticles->GetMean(),   fhPHOSRecParticles->GetRMS()   ) ;
-  printf("        PHOSPhotons Mean        : %5.3f , RMS : %5.3f \n", fhPHOSPhotons->GetMean(),        fhPHOSPhotons->GetRMS()        ) ;
-  printf("        PHOSInvariantMass Mean  : %5.3f , RMS : %5.3f \n", fhPHOSInvariantMass->GetMean(),  fhPHOSInvariantMass->GetRMS()  ) ;
-  printf("        PHOSDigitsEvent Mean    : %5.3f , RMS : %5.3f \n", fhPHOSDigitsEvent->GetMean(),    fhPHOSDigitsEvent->GetRMS()    ) ;
-
-  TCanvas  * cPHOS = new TCanvas("cPHOS", "PHOS ESD Test", 400, 10, 600, 700) ;
-  cPHOS->Divide(3, 2);
-
-  cPHOS->cd(1) ; 
-  if ( fhPHOSEnergy->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhPHOSEnergy->SetAxisRange(0, 25.);
-  fhPHOSEnergy->SetLineColor(2);
-  fhPHOSEnergy->Draw();
-
-  cPHOS->cd(2) ; 
-  fhPHOSDigits->SetAxisRange(0,25.);
-  fhPHOSDigits->SetLineColor(2);
-  fhPHOSDigits->Draw();
-
-  cPHOS->cd(3) ; 
-  if ( fhPHOSRecParticles->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhPHOSRecParticles->SetAxisRange(0, 25.);
-  fhPHOSRecParticles->SetLineColor(2);
-  fhPHOSRecParticles->Draw();
-
-  cPHOS->cd(4) ; 
-  if ( fhPHOSPhotons->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhPHOSPhotons->SetAxisRange(0,25.);
-  fhPHOSPhotons->SetLineColor(2);
-  fhPHOSPhotons->Draw();
-
-  cPHOS->cd(5) ; 
-  fhPHOSInvariantMass->SetLineColor(2);
-  fhPHOSInvariantMass->Draw();
-  cPHOS->cd(6) ; 
-  if ( fhPHOSDigitsEvent->GetMaximum() > 0. ) 
-    gPad->SetLogy();
-  fhPHOSDigitsEvent->SetAxisRange(0,40.);
-  fhPHOSDigitsEvent->SetLineColor(2);
-  fhPHOSDigitsEvent->Draw();
-  cPHOS->Print("PHOS.eps");
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  sprintf(line, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-  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())) ; 
-}
diff --git a/ESDCheck/AliPHOSQATask.h b/ESDCheck/AliPHOSQATask.h
deleted file mode 100644 (file)
index 8b77e99..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef ALIPHOSQATASK_H
-#define ALIPHOSQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// 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 "AliAnalysisTask.h"  
-
-class AliESD ; 
-class TNtuple ;
-class TH1D ; 
-class TH1I ;
-class TTree ;  
-
-class AliPHOSQATask : public AliAnalysisTask {
-
-public:
-  AliPHOSQATask(const char *name) ;
-  AliPHOSQATask(const AliPHOSQATask& ap) ;   
-  AliPHOSQATask& operator = (const AliPHOSQATask& ap) ;
- virtual ~AliPHOSQATask() ;
-   
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-
-  // Histograms
-  TNtuple * fhPHOSPos ; // x, y
-  TNtuple * fhPHOS ; // all parameters
-  TH1D    * fhPHOSEnergy ; // energy
-  TH1I    * fhPHOSDigits ; // sdigits
-  TH1D    * fhPHOSRecParticles ; // recparticles
-  TH1I    * fhPHOSPhotons ; // photons 
-  TH1D    * fhPHOSInvariantMass ; // invariant mass
-  TH1I    * fhPHOSDigitsEvent ; // digits per event
-   
-  ClassDef(AliPHOSQATask, 0); // a PHOS photon analysis task 
-};
-#endif // ALIPHOSQATASK_H
diff --git a/ESDCheck/AliPMDQATask.cxx b/ESDCheck/AliPMDQATask.cxx
deleted file mode 100644 (file)
index 8fa6688..0000000
+++ /dev/null
@@ -1,850 +0,0 @@
-
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// An analysis task to check the PMD data in simulated data
-//
-//*-- Yves Schutz 
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h> 
-#include <TH2F.h>
-#include <TLine.h> 
-#include <TROOT.h>
-#include <TStyle.h> 
-#include <TString.h> 
-
-#include "AliPMDQATask.h" 
-#include "AliPMDUtility.h" 
-#include "AliESD.h" 
-#include "AliLog.h"
-
-//______________________________________________________________________________
-AliPMDQATask::AliPMDQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0),
-  fhPMDP1(0),
-  fhPMDC2(0),
-  fhPMDP2(0),
-  fhPMDC3(0),
-  fhPMDP3(0),
-  fhPMDP4(0),
-  fhPMDC5(0),
-  fhPMDP5(0),
-  fhPMDCP0(0),
-  fhPMDCP1(0),
-  fhPMDCP2(0),
-  fhPMDCP3(0),
-  fhPMDCP4(0),
-  fhPMDSM1(0),
-  fhPMDSM2(0),
-  fhPMDSM3(0),
-  fhPMDSM4(0),
-  fhPMDSM5(0),
-  fhPMDSM6(0),
-  fhPMDSM7(0),
-  fhPMDSM8(0),
-  fhPMDSM9(0),
-  fhPMDSM10(0),
-  fhPMDSM11(0),
-  fhPMDSM12(0),
-  fhPMDSM13(0),
-  fhPMDSM14(0),
-  fhPMDSM15(0),
-  fhPMDSM16(0),
-  fhPMDSM17(0),
-  fhPMDSM18(0),
-  fhPMDSM19(0),
-  fhPMDSM20(0),
-  fhPMDSM21(0),
-  fhPMDSM22(0),
-  fhPMDSM23(0),
-  fhPMDSM24(0),
-  fhPMDSM (0)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  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()
-{
-  // dtor
-  fOutputContainer->Clear() ; 
-  delete fOutputContainer ;
-  
-  delete fhPMDP1  ;
-  delete fhPMDC2  ;
-  delete fhPMDP2  ;
-  delete fhPMDC3  ;
-  delete fhPMDP3  ;
-  delete fhPMDP4  ;
-  delete fhPMDC5  ;
-  delete fhPMDP5  ;
-  delete fhPMDCP0 ;
-  delete fhPMDCP1 ;
-  delete fhPMDCP2 ;
-  delete fhPMDCP3 ;
-  delete fhPMDCP4 ;
-  delete fhPMDSM1  ;
-  delete fhPMDSM2  ;
-  delete fhPMDSM3  ;
-  delete fhPMDSM4  ;
-  delete fhPMDSM5  ;
-  delete fhPMDSM6  ;
-  delete fhPMDSM7  ;
-  delete fhPMDSM8  ;
-  delete fhPMDSM9  ;
-  delete fhPMDSM10 ;
-  delete fhPMDSM11 ;
-  delete fhPMDSM12 ;
-  delete fhPMDSM13 ;
-  delete fhPMDSM14 ;
-  delete fhPMDSM15 ;
-  delete fhPMDSM16 ;
-  delete fhPMDSM17 ;
-  delete fhPMDSM18 ;
-  delete fhPMDSM19 ;
-  delete fhPMDSM20 ;
-  delete fhPMDSM21 ;
-  delete fhPMDSM22 ;
-  delete fhPMDSM23 ;
-  delete fhPMDSM24 ;
-  delete fhPMDSM   ;
-  
-}
-
-//______________________________________________________________________________
-void AliPMDQATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-    
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliPMDQATask::CreateOutputObjects()
-{  
-  // 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);
-  fhPMDC3   = new TH1F("fhPMDC3","CPV  Clus",30,0.,500.);
-  fhPMDP3   = new TH1F("fhPMDP3","PRE  N-gammalike",20,0.,500.);
-  fhPMDP4   = new TH1F("fhPMDP4","PRE  EDEP",30,0.,1000.);
-  fhPMDC5   = new TH1F("fhPMDC5","CPV  n-cell",20,0.,100.);
-  fhPMDP5   = new TH1F("fhPMDP5","PMD  n-cell",20,0.,100.);
-  fhPMDCP0  = new TH2F("fhPMDCP0","PRE CLUS Quad.1 vs 2",150,0.,300.,150,0.,300.);
-  fhPMDCP1  = new TH2F("fhPMDCP1","PRE CLUS Quad.3 vs 4",150,0.,300.,150,0.,300.);
-  fhPMDCP2  = new TH2F("fhPMDCP2","PRE EDEP Quad.3 vs 4",50,0.,300.,50,0.,300.);
-  fhPMDCP3  = new TH2F("fhPMDCP3","PRE EDEP vs Tot Clus ",10,0.,1000.,10,0.,300.);
-  fhPMDCP4  = new TH2F("fhPMDCP4","PRE Clus vs CPV Clus ",150,0.,200.,150,0.,200.);
-
-  fhPMDSM1  = new TH2F("fhPMDSM1","PRE Cluster XY",200,-100,100,200,-100,100);
-  fhPMDSM2  = new TH2F("fhPMDSM2","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM3  = new TH2F("fhPMDSM3","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM4  = new TH2F("fhPMDSM4","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM5  = new TH2F("fhPMDSM5","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM6  = new TH2F("fhPMDSM6","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM7  = new TH2F("fhPMDSM7","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM8  = new TH2F("fhPMDSM8","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM9  = new TH2F("fhPMDSM9","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM10 = new TH2F("fhPMDSM10","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM11 = new TH2F("fhPMDSM11","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM12 = new TH2F("fhPMDSM12","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM13 = new TH2F("fhPMDSM13","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM14 = new TH2F("fhPMDSM14","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM15 = new TH2F("fhPMDSM15","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM16 = new TH2F("fhPMDSM16","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM17 = new TH2F("fhPMDSM17","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM18 = new TH2F("fhPMDSM18","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM19 = new TH2F("fhPMDSM19","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM20 = new TH2F("fhPMDSM20","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM21 = new TH2F("fhPMDSM21","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM22 = new TH2F("fhPMDSM22","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM23 = new TH2F("fhPMDSM23","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM24 = new TH2F("fhPMDSM24","",999,-100.0,100.0,999,-100.0,100.0);
-  fhPMDSM   = new TH1F("fhPMDSM","Plot of all 24 Super Modules",24,0,24);
-  
-  // create output container
-  
-  fOutputContainer = new TObjArray(38) ; 
-  fOutputContainer->SetName("PMD") ; 
-
-  fOutputContainer->AddAt(fhPMDP1,    0 );
-  fOutputContainer->AddAt(fhPMDC2,    1 );
-  fOutputContainer->AddAt(fhPMDP2,    2 );
-  fOutputContainer->AddAt(fhPMDC3,    3 );
-  fOutputContainer->AddAt(fhPMDP3,    4 );
-  fOutputContainer->AddAt(fhPMDP4,    5 );
-  fOutputContainer->AddAt(fhPMDC5,    6 );
-  fOutputContainer->AddAt(fhPMDP5,    7 );
-  fOutputContainer->AddAt(fhPMDCP0,   8 );
-  fOutputContainer->AddAt(fhPMDCP1,   9);
-  fOutputContainer->AddAt(fhPMDCP2,  10 );
-  fOutputContainer->AddAt(fhPMDCP3,  11 );
-  fOutputContainer->AddAt(fhPMDCP4,  12 );
-  
-  fOutputContainer->AddAt(fhPMDSM1,  13 );
-  fOutputContainer->AddAt(fhPMDSM2,  14 );
-  fOutputContainer->AddAt(fhPMDSM3,  15 );
-  fOutputContainer->AddAt(fhPMDSM4,  16 );
-  fOutputContainer->AddAt(fhPMDSM5,  17 );
-  fOutputContainer->AddAt(fhPMDSM6,  18 );
-  fOutputContainer->AddAt(fhPMDSM7,  19 );
-  fOutputContainer->AddAt(fhPMDSM8,  20 );
-  fOutputContainer->AddAt(fhPMDSM9,  21 );
-  fOutputContainer->AddAt(fhPMDSM10, 22 );
-  fOutputContainer->AddAt(fhPMDSM11, 23 );
-  fOutputContainer->AddAt(fhPMDSM12, 24 );
-  fOutputContainer->AddAt(fhPMDSM13, 25 );
-  fOutputContainer->AddAt(fhPMDSM14, 26 );
-  fOutputContainer->AddAt(fhPMDSM15, 27 );
-  fOutputContainer->AddAt(fhPMDSM16, 28 );
-  fOutputContainer->AddAt(fhPMDSM17, 29 );
-  fOutputContainer->AddAt(fhPMDSM18, 30 );
-  fOutputContainer->AddAt(fhPMDSM19, 31 );
-  fOutputContainer->AddAt(fhPMDSM20, 32 );
-  fOutputContainer->AddAt(fhPMDSM21, 33 );
-  fOutputContainer->AddAt(fhPMDSM22, 34 );
-  fOutputContainer->AddAt(fhPMDSM23, 35 );
-  fOutputContainer->AddAt(fhPMDSM24, 36 );
-  fOutputContainer->AddAt(fhPMDSM,   37 );
-}
-
-//______________________________________________________________________________
-void AliPMDQATask::Exec(Option_t *) 
-{
-  // Processing of one event
-  
-  Long64_t entry = fChain->GetReadEntry() ;
-  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  // ************************ PMD
-
-  AliPMDUtility *cc = new AliPMDUtility(); 
-  
-  Int_t smn;
-  Int_t n=0;
-  Float_t totCPVClus     ;
-  Float_t totPREClus     ;
-  Float_t totPREEdep  ;
-  Float_t totCPVCell     ;
-  Float_t totPRECell     ;
-  Float_t preCluQUAD[4]  ;
-  Float_t cpvCluQUAD[4]  ;
-  Float_t preADCQUAD[4]  ;
-  Float_t cpvADCQUAD[4]  ;
-  Float_t preCelQUAD[4]  ;
-  Float_t cpvCelQUAD[4]  ;
-
-  Int_t npmdCl = fESD->GetNumberOfPmdTracks();
-  
-  // ****** The loop over PMD clusters
-
-  for (Int_t kk = 0; kk < 4 ; kk++) {
-    cpvCluQUAD[kk] = 0.0 ;
-    preCluQUAD[kk] = 0.0 ;
-    cpvCelQUAD[kk] = 0.0 ;
-    preCelQUAD[kk] = 0.0 ;
-    preADCQUAD[kk] = 0.0 ;
-  } 
-  while (npmdCl--) {
-    
-    AliESDPmdTrack * pmdtr = fESD->GetPmdTrack(npmdCl);
-    Int_t   det   = pmdtr->GetDetector();
-    Float_t clsX  = pmdtr->GetClusterX();
-    Float_t clsY  = pmdtr->GetClusterY();
-    Float_t clsZ  = pmdtr->GetClusterZ();
-    Float_t ncell = pmdtr->GetClusterCells();
-    Float_t adc   = pmdtr->GetClusterADC();
-    
-    cc->SetXYZ(clsX,clsY,clsZ);
-    cc->CalculateEta();
-    cc->CalculatePhi();
-    Float_t eta = cc->GetEta();
-    Float_t phi = cc->GetPhi();
-    
-   // Calculating S.Module Number from Cluster .
-    
-    CalculateSMN(clsX, clsY, smn);
-    if( det == 1)
-      {
-       if(smn >= 0 && smn <= 5) {
-         ++cpvCluQUAD[0] ;
-         cpvADCQUAD[0] =+ adc  ;
-         cpvCelQUAD[0] =+ ncell ;
-       }
-       if(smn >= 6 && smn <=11) {
-         ++cpvCluQUAD[1] ;
-         cpvADCQUAD[1] =+ adc  ;
-         cpvCelQUAD[1] =+ ncell ;
-       }
-       if(smn >=12 && smn <=17) {
-         ++cpvCluQUAD[2] ;
-         cpvADCQUAD[2] =+ adc  ;
-         cpvCelQUAD[2] =+ ncell ;
-       }
-       if(smn >=18 && smn <=23) {
-         ++cpvCluQUAD[3] ;
-         cpvADCQUAD[3] =+ adc  ;
-         cpvCelQUAD[3] =+ ncell ;
-       }
-       
-       if(eta >= 2.3 && eta <= 3.5)
-         {
-           fhPMDC2->Fill(phi);
-         }
-      }
-    if( det == 0)
-      {
-       if(smn >= 0 && smn <= 5) { 
-         ++preCluQUAD[0] ;
-         preADCQUAD[0] =+ adc  ;    
-         preCelQUAD[0] =+ ncell ;    
-       }    
-       if(smn >= 6 && smn <=11) { 
-         ++preCluQUAD[1] ;
-         preADCQUAD[1] =+ adc  ;    
-         preCelQUAD[1] =+ ncell ;    
-       }    
-       if(smn >=12 && smn <=17) { 
-         ++preCluQUAD[2] ;
-         preADCQUAD[2] =+ adc  ;    
-         preCelQUAD[2] =+ ncell ;    
-       }    
-       if(smn >=18 && smn <=23) { 
-         ++preCluQUAD[3] ;
-         preADCQUAD[3] =+ adc  ;    
-         preCelQUAD[3] =+ ncell ;    
-       }    
-       if ( n <= 100 ) { 
-         fhPMDSM->Fill(smn);
-         if(smn == 0) fhPMDSM1->Fill(-clsX,clsY);
-         if(smn == 0) fhPMDSM1->Fill(-clsX,clsY);
-         if(smn == 1) fhPMDSM2->Fill(-clsX,clsY);
-         if(smn == 2) fhPMDSM3->Fill(-clsX,clsY);
-         if(smn == 3) fhPMDSM4->Fill(-clsX,clsY);
-         if(smn == 4) fhPMDSM5->Fill(-clsX,clsY);
-         if(smn == 5) fhPMDSM6->Fill(-clsX,clsY);
-         if(smn == 6) fhPMDSM7->Fill(-clsX,clsY);
-         if(smn == 7) fhPMDSM8->Fill(-clsX,clsY);
-         if(smn == 8) fhPMDSM9->Fill(-clsX,clsY);
-         if(smn == 9) fhPMDSM10->Fill(-clsX,clsY);
-         if(smn ==10) fhPMDSM11->Fill(-clsX,clsY);
-         if(smn ==11) fhPMDSM12->Fill(-clsX,clsY);
-         if(smn ==12) fhPMDSM13->Fill(-clsX,clsY);
-         if(smn ==13) fhPMDSM14->Fill(-clsX,clsY);
-         if(smn ==14) fhPMDSM15->Fill(-clsX,clsY);
-         if(smn ==15) fhPMDSM16->Fill(-clsX,clsY);
-         if(smn ==16) fhPMDSM17->Fill(-clsX,clsY);
-         if(smn ==17) fhPMDSM18->Fill(-clsX,clsY);
-         if(smn ==18) fhPMDSM19->Fill(-clsX,clsY);
-         if(smn ==19) fhPMDSM20->Fill(-clsX,clsY);
-         if(smn ==20) fhPMDSM21->Fill(-clsX,clsY);
-         if(smn ==21) fhPMDSM22->Fill(-clsX,clsY);
-         if(smn ==22) fhPMDSM23->Fill(-clsX,clsY);
-         if(smn ==23) fhPMDSM24->Fill(-clsX,clsY);
-       }     
-       if(eta >= 2.3 && eta <= 3.5)
-         {
-           fhPMDP2->Fill(phi);
-         }
-       fhPMDP1->Fill(clsX,clsY);
-      }
-  } 
-  for (Int_t k = 0 ; k < 4 ; k++) {
-    totCPVClus =+ cpvCluQUAD [k] ;
-    totPREClus =+ preCluQUAD [k] ;
-    totCPVCell =+ cpvCelQUAD [k] ;
-    totPRECell =+ preCelQUAD [k] ;
-    totPREEdep =+ preADCQUAD [k] ;     
-    }
-  Float_t totCPVpreClus = totPREClus + totCPVClus ;
-
-  //  if(eta >= 2.3 && eta <= 3.5) {
-  fhPMDC3->Fill(totCPVClus);
-  fhPMDP3->Fill(totPREClus);
-  fhPMDP4->Fill(totPREEdep);
-  fhPMDP5->Fill(totPRECell);
-  fhPMDCP0->Fill(preCluQUAD[0],preCluQUAD[1]);
-  fhPMDCP1->Fill(preCluQUAD[2],preCluQUAD[3]);
-  fhPMDCP2->Fill(preADCQUAD[2],preADCQUAD[3]);
-  fhPMDCP3->Fill(totPREEdep,totCPVpreClus);
-  fhPMDCP4->Fill(totPREClus,totCPVClus);
-  //    }
-  totCPVClus = 0.0; 
-  totPREClus = 0.0; 
-  totCPVCell = 0.0; 
-  totPRECell = 0.0; 
-  totPREEdep = 0.0; 
-
-  PostData(0, fOutputContainer);
-} 
-
-//______________________________________________________________________________
-void AliPMDQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  
-  fhPMDP1   = (TH2F*)fOutputContainer->At(0);
-  fhPMDC2   = (TH1F*)fOutputContainer->At(1);
-  fhPMDP2   = (TH1F*)fOutputContainer->At(2);
-  fhPMDC3   = (TH1F*)fOutputContainer->At(3);
-  fhPMDP3   = (TH1F*)fOutputContainer->At(4);
-  fhPMDP4   = (TH1F*)fOutputContainer->At(5);
-  fhPMDC5   = (TH1F*)fOutputContainer->At(6);
-  fhPMDP5   = (TH1F*)fOutputContainer->At(7);
-  fhPMDCP0  = (TH2F*)fOutputContainer->At(8);
-  fhPMDCP1  = (TH2F*)fOutputContainer->At(9);
-  fhPMDCP2  = (TH2F*)fOutputContainer->At(10);
-  fhPMDCP3  = (TH2F*)fOutputContainer->At(11);
-  fhPMDCP4  = (TH2F*)fOutputContainer->At(12);
-
-  fhPMDSM1  = (TH2F*)fOutputContainer->At(13);
-  fhPMDSM2  = (TH2F*)fOutputContainer->At(14);
-  fhPMDSM3  = (TH2F*)fOutputContainer->At(15);
-  fhPMDSM4  = (TH2F*)fOutputContainer->At(16);
-  fhPMDSM5  = (TH2F*)fOutputContainer->At(17);
-  fhPMDSM6  = (TH2F*)fOutputContainer->At(18);
-  fhPMDSM7  = (TH2F*)fOutputContainer->At(19);
-  fhPMDSM8  = (TH2F*)fOutputContainer->At(20);
-  fhPMDSM9  = (TH2F*)fOutputContainer->At(21);
-  fhPMDSM10 = (TH2F*)fOutputContainer->At(22);
-  fhPMDSM11 = (TH2F*)fOutputContainer->At(23);
-  fhPMDSM12 = (TH2F*)fOutputContainer->At(24);
-  fhPMDSM13 = (TH2F*)fOutputContainer->At(25);
-  fhPMDSM14 = (TH2F*)fOutputContainer->At(26);
-  fhPMDSM15 = (TH2F*)fOutputContainer->At(27);
-  fhPMDSM16 = (TH2F*)fOutputContainer->At(28);
-  fhPMDSM17 = (TH2F*)fOutputContainer->At(29);
-  fhPMDSM18 = (TH2F*)fOutputContainer->At(30);
-  fhPMDSM19 = (TH2F*)fOutputContainer->At(31);
-  fhPMDSM20 = (TH2F*)fOutputContainer->At(32);
-  fhPMDSM21 = (TH2F*)fOutputContainer->At(33);
-  fhPMDSM22 = (TH2F*)fOutputContainer->At(34);
-  fhPMDSM23 = (TH2F*)fOutputContainer->At(35);
-  fhPMDSM24 = (TH2F*)fOutputContainer->At(36);
-  fhPMDSM   = (TH1F*)fOutputContainer->At(37);
-
-  Bool_t problem = kFALSE ; 
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-
-  gStyle->SetOptStat(110000);
-  gStyle->SetOptFit(1);
-
-  TCanvas *cPMD0 = new TCanvas("cPMD0","PMD ESD Test #1", 10,10, 600, 600);
-  cPMD0->Range(-100, -100,100 ,100 );
-  fhPMDSM1->SetMarkerColor(2);
-  fhPMDSM1->Draw();
-  fhPMDSM1->GetXaxis()->SetTitle("Cluster X");
-  fhPMDSM1->GetYaxis()->SetTitle("Cluster Y");
-  fhPMDSM2->SetMarkerColor(2);
-  fhPMDSM2->Draw("same");
-  fhPMDSM3->SetMarkerColor(2);
-  fhPMDSM3->Draw("same");
-  fhPMDSM4->SetMarkerColor(2);
-  fhPMDSM4->Draw("same");
-  fhPMDSM5->SetMarkerColor(2);
-  fhPMDSM5->Draw("same");
-  fhPMDSM6->SetMarkerColor(2);
-  fhPMDSM6->Draw("same");
-  fhPMDSM7->SetMarkerColor(4);
-  fhPMDSM7->Draw("same");
-  fhPMDSM8->SetMarkerColor(4);
-  fhPMDSM8->Draw("same");
-  fhPMDSM9->SetMarkerColor(4);
-  fhPMDSM9->Draw("same");
-  fhPMDSM10->SetMarkerColor(4);
-  fhPMDSM10->Draw("same");
-  fhPMDSM11->SetMarkerColor(4);
-  fhPMDSM11->Draw("same");
-  fhPMDSM12->SetMarkerColor(4);
-  fhPMDSM12->Draw("same");
-  fhPMDSM13->SetMarkerColor(6);
-  fhPMDSM13->Draw("same");
-  fhPMDSM14->SetMarkerColor(6);
-  fhPMDSM14->Draw("same");
-  fhPMDSM15->SetMarkerColor(6);
-  fhPMDSM15->Draw("same");
-  fhPMDSM16->SetMarkerColor(6);
-  fhPMDSM16->Draw("same");
-  fhPMDSM17->SetMarkerColor(6);
-  fhPMDSM17->Draw("same");
-  fhPMDSM18->SetMarkerColor(6);
-  fhPMDSM18->Draw("same");
-  fhPMDSM19->SetMarkerColor(8);
-  fhPMDSM19->Draw("same");
-  fhPMDSM20->SetMarkerColor(8);
-  fhPMDSM20->Draw("same");
-  fhPMDSM21->SetMarkerColor(8);
-  fhPMDSM21->Draw("same");
-  fhPMDSM22->SetMarkerColor(8);
-  fhPMDSM22->Draw("same");
-  fhPMDSM23->SetMarkerColor(8);
-  fhPMDSM23->Draw("same");
-  fhPMDSM24->SetMarkerColor(8);
-  fhPMDSM24->Draw("same");
-
-  DrawPMDBoundary();
-  DrawPMDBoundarySM1();
-  DrawPMDBoundarySM2();
-  DrawPMDBoundarySM3();
-  DrawPMDBoundarySM4();
-  cPMD0->Print("ClusterXY.eps");
-  
-  TCanvas *cPMD1 = new TCanvas("cPMD1"," PMD ESD Test #2",10, 10, 600,600);
-  cPMD1->Divide(1,2);
-  cPMD1->cd(1);
-  cPMD1->SetFillColor(0);
-  fhPMDC2->SetLineColor(4);
-  fhPMDC2->Draw();
-  cPMD1->cd(2);
-  fhPMDP2->SetLineColor(2);
-  fhPMDP2->Draw();
-  cPMD1->Print("CPVPREphi.eps");
-
-  TCanvas *cPMD2 = new TCanvas("cPMD2","PMD ESD test #3",10, 10, 600, 600);
-  cPMD2->cd();
-  fhPMDSM->SetFillColor(2);
-  fhPMDSM->Draw();
-  cPMD2->Print("AllSMN.eps");
-
-  TCanvas *cPMD3 = new TCanvas("cPMD3", "PMD ESD test #4",10, 10, 600, 600);
-  cPMD3->Divide(2,2);
-  cPMD3->cd(1);
-  fhPMDCP0->SetMarkerColor(9);
-  fhPMDCP0->Draw();
-  cPMD3->cd(2);
-  fhPMDCP1->SetMarkerColor(6);
-  fhPMDCP1->Draw();
-  cPMD3->cd(3);
-  fhPMDP3->SetLineColor(2);
-  fhPMDP3->Draw();
-  cPMD3->cd(4);
-  fhPMDCP4->SetMarkerColor(3);
-  fhPMDCP4->Draw();
-  cPMD3->Print("CPVPREClus.eps");
-
-  TCanvas *cPMD4 = new TCanvas("cPMD4","PMD ESD test #5", 10, 10, 600, 600);
-  cPMD4->Divide(1,2);
-  cPMD4->cd(1);
-  fhPMDC3->SetLineColor(4);
-  fhPMDC3->Draw();
-  cPMD4->cd(2);
-  fhPMDP4->SetLineColor(2);
-  fhPMDP4->Draw();
-  cPMD4->Print("CPVPREAdc.eps");
-
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  
-  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) 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,
-                      75.133, 54.204, 53.254, 32.326, 31.376,10.447,
-                      75.133, 54.204, 53.254, 32.326, 31.376,10.447,
-                      -75.133, -54.204, -53.254, -32.326, -31.376,-10.447,
-                      -75.133, -54.204, -53.254, -32.326, -31.376,-10.447,
-                      -75.133, -54.204, -53.254, -32.326, -31.376,-10.447,
-                      -75.133, -54.204, -53.254, -32.326, -31.376,-10.447,
-                      9.167, -32.543, -33.493, -75.133,
-                      9.167, -32.543, -33.493, -75.133,
-                      9.167, -32.543, -33.493, -75.133,
-                      9.167, -32.543, -33.493, -75.133,
-                      9.167, -32.543, -33.493, -75.133,
-                      9.167, -32.543, -33.493, -75.133,
-                      -9.167, 32.543, 33.493, 75.133,
-                      -9.167, 32.543, 33.493, 75.133,
-                      -9.167, 32.543, 33.493, 75.133,
-                      -9.167, 32.543, 33.493, 75.133,
-                      -9.167, 32.543, 33.493, 75.133,
-                      -9.167, 32.543, 33.493, 75.133};
-  
-  Double_t ycon[96] =  {86.475,  86.475,  86.475, 86.475,  86.475,  86.475,
-                       38.225,  38.225,  38.225, 38.225,  38.225,  38.225,
-                       37.325,  37.325,  37.325, 37.325,  37.325,  37.325,
-                       -10.925, -10.925, -10.925, -10.925, -10.925, -10.925,
-                       -86.475, -86.475, -86.475, -86.475, -86.475, -86.475,
-                       -38.225,  -38.225,  -38.225, -38.225, -38.225, -38.225,
-                       -37.325,  -37.325,  -37.325, -37.325,  -37.325,  -37.325,
-                       10.925, 10.925, 10.925, 10.925, 10.925, 10.925,
-                       86.475,  86.475, 86.475,  86.475,
-                       62.225,  62.225, 62.225,  62.225,
-                       61.325,  61.325, 61.325,  61.325,
-                       37.075, 37.075, 37.075, 37.075,
-                       36.175,  36.175, 36.175,  36.175,
-                       11.925, 11.925, 11.925 , 11.925,
-                       -86.475,  -86.475, -86.475,  -86.475,
-                       -62.225,  -62.225, -62.225,  -62.225,
-                       -61.325,  -61.325, -61.325,  -61.325,
-                       -37.075,  -37.075, -37.075,  -37.075,
-                       -36.175,  -36.175, -36.175,  -36.175,
-                       -11.925, -11.925,  -11.925 , -11.925 };
-  
-  if((clsX <= xcon[0]) && (clsX >= xcon[1]) &&
-     (clsY <= ycon[0]) && (clsY >= ycon[6])) smn = 0 ;
-  
-  else if((clsX <=xcon[2]) && (clsX >= xcon[3]) &&
-         (clsY <= ycon[1]) && (clsY >= ycon[7]))smn = 1 ;
-  
-  else if((clsX <=xcon[4]) && (clsX >= xcon[5]) &&
-         (clsY <= ycon[3]) && (clsY >= ycon[8]))smn = 2 ;
-  
-  else if((clsX <= xcon[0]) && (clsX >= xcon[1]) &&
-         (clsY <= ycon[12]) && (clsY >= ycon[18])) smn = 3 ;
-  
-  else if((clsX <=xcon[2]) && (clsX >= xcon[3]) &&
-         (clsY <= ycon[12]) && (clsY >= ycon[18]))smn = 4 ;
-  
-  else if((clsX <=xcon[4]) && (clsX >= xcon[5]) &&
-         (clsY <= ycon[12]) && (clsY >= ycon[18]))smn = 5 ;
-  //------------------------------------------------------------------
-  else if((clsX >= xcon[24]) && (clsX <= xcon[25]) &&
-         (clsY >= ycon[24]) && (clsY <= ycon[30])) smn = 6 ;
-  
-  else if((clsX >=xcon[26]) && (clsX <= xcon[27]) &&
-         (clsY >= ycon[25]) && (clsY <= ycon[31]))smn = 7 ;
-  
-  else if((clsX >=xcon[28]) && (clsX <= xcon[29]) &&
-         (clsY >= ycon[26]) && (clsY <= ycon[32]))smn = 8 ;
-  
-  else if((clsX >= xcon[24]) && (clsX <= xcon[25]) &&
-         (clsY >= ycon[36]) && (clsY <= ycon[42])) smn = 9 ;
-  
-  else if((clsX >=xcon[26]) && (clsX <= xcon[27]) &&
-         (clsY >= ycon[36]) && (clsY <= ycon[42]))smn = 10;
-  
-  else if((clsX >=xcon[28]) && (clsX <= xcon[29]) &&
-         (clsY >= ycon[36]) && (clsY <= ycon[42]))smn = 11;
-  //------------------------------------------------------------------
-  else if((clsX <= xcon[48]) && (clsX >= xcon[49]) &&
-         (clsY <= ycon[48]) && (clsY >= ycon[52])) smn = 12 ;
-  
-  else if((clsX <=xcon[50]) && (clsX >= xcon[51]) &&
-         (clsY <= ycon[48]) && (clsY >= ycon[52]))smn = 13 ;
-  
-  else if((clsX <=xcon[48]) && (clsX >= xcon[49]) &&
-         (clsY <= ycon[56]) && (clsY >= ycon[60]))smn = 14 ;
-  
-  else if((clsX <=xcon[50]) && (clsX >= xcon[51]) &&
-         (clsY <= ycon[56]) && (clsY >= ycon[60]))smn = 15 ;
-  
-  else if((clsX <=xcon[48]) && (clsX >= xcon[49]) &&
-         (clsY <= ycon[64]) && (clsY >= ycon[68]))smn = 16 ;
-  
-  else if((clsX <=xcon[50]) && (clsX >= xcon[51]) &&
-         (clsY <= ycon[64]) && (clsY >= ycon[68]))smn = 17 ;
-  //--------------------------------------------------------------
-  else if((clsX >= xcon[72]) && (clsX <= xcon[73]) &&
-         (clsY >= ycon[72]) && (clsY <= ycon[76])) smn = 18 ;
-  
-  else if((clsX >=xcon[74]) && (clsX <= xcon[75]) &&
-         (clsY >= ycon[72]) && (clsY <= ycon[76]))smn = 19 ;
-  
-  else if((clsX >=xcon[72]) && (clsX <= xcon[73]) &&
-         (clsY >= ycon[80]) && (clsY <= ycon[84]))smn = 20 ;
-  
-  else if((clsX >=xcon[74]) && (clsX <= xcon[75]) &&
-         (clsY >= ycon[80]) && (clsY <= ycon[84]))smn = 21;
-  
-  else if((clsX >= xcon[72]) && (clsX <= xcon[73]) &&
-         (clsY >= ycon[88]) && (clsY <= ycon[92])) smn = 22 ;
-  
-  else if((clsX >=xcon[74]) && (clsX <= xcon[75]) &&
-         (clsY >= ycon[88]) && (clsY <= ycon[92]))smn = 23 ;
-  else smn = 111;
- }
-
-//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundary() const 
-{
-  // Draw PMD boundaries 
-  
-  gStyle->SetLineWidth(2);
-  gStyle->SetLineColor(2);
-  TLine * l;
-  l = new TLine(75.1333, 86.475, -75.1333, 86.475); l->Draw("same");
-  l = new TLine(-75.1333, 86.470,-75.1333, -86.475); l->Draw("same");
-  l = new TLine(-75.1333, -86.475,75.1333, -86.475); l->Draw("same");
-  l = new TLine(75.1333, -86.475,75.1333, 86.475); l->Draw("same");
-}
-
-//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM1() const 
-{
-  // Draw boundaries of Super Module 1 
-
-  gStyle->SetLineWidth(1);
-  gStyle->SetLineColor(4);
-  TLine * l;
-  l = new TLine(-75.1333, 86.475, -10.447,  86.475); l->Draw("same");
-  l = new TLine(-10.447, 86.475, -10.446, -10.925); l->Draw("same");
-  l = new TLine(-10.446, -10.925, -75.1333,-10.925); l->Draw("same");
-  l = new TLine(-75.1333,-10.925, -75.1333, 86.475); l->Draw("same");
-}
-
-//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM2() const 
-{
-  // Draw boundaries of Super Module 2 
-
-  gStyle->SetLineWidth(1);
-  gStyle->SetLineColor(4);
-  TLine * l;
-  l = new TLine(75.1333, -86.475, 10.446,  -86.475); l->Draw("same");
-  l = new TLine(10.446,  -86.475, 10.446,  10.925); l->Draw("same");
-  l = new TLine(10.446,   10.925, 75.1333, 10.925); l->Draw("same");
-  l = new TLine(75.1333,  10.925, 75.1333, -86.475); l->Draw("same");
-}
-
-
-//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM3() const 
-{
-  // Draw boundaries of Super Module 3 
-
-  gStyle->SetLineWidth(1);
-  gStyle->SetLineColor(1);
-  TLine * l;
-  l = new TLine(  -9.167, 86.475, 75.1333, 86.475); l->Draw("same");
-  l = new TLine(75.1333,86.475, 75.1333, 11.925); l->Draw("same");
-  l = new TLine(75.1333,11.925,   -9.167,  11.925); l->Draw("same");
-  l = new TLine(  -9.167, 11.925,   -9.167,  86.475); l->Draw("same");
-}
-
-//______________________________________________________________________________
-void AliPMDQATask::DrawPMDBoundarySM4() const 
-{
-  // Draw boundaries of Super Module 4 
-
-  gStyle->SetLineWidth(1);
-  gStyle->SetLineColor(1);
-  TLine * l;
-  l = new TLine(9.167, -86.475, -75.1333,-86.475); l->Draw("same");
-  l = new TLine(-75.1333,-86.475, -75.1333,-11.925); l->Draw("same");
-  l = new TLine(-75.1333,-11.925, 9.167, -11.925); l->Draw("same");
-  l = new TLine(9.167, -11.925, 9.167, -86.475); l->Draw("same");
-}
diff --git a/ESDCheck/AliPMDQATask.h b/ESDCheck/AliPMDQATask.h
deleted file mode 100644 (file)
index 6d1951f..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#ifndef ALIPMDQATASK_H
-#define ALIPMDQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// An analysis task to check the PMD  data in simulated data
-// An analysis task to check the PMD  data in simulated data
-// An analysis task to check the PMD  data in simulated data
-//
-//*-- Yves Schutz 
-//////////////////////////////////////////////////////////////////////////////
-
-#include "AliAnalysisTask.h"  
-
-class AliESD ; 
-class TH2F ; 
-class TH1F ; 
-class TTree ; 
-
-class AliPMDQATask : public AliAnalysisTask {
-
-public:
-  AliPMDQATask(const char *name) ;
-  AliPMDQATask(const  AliPMDQATask& ta) ;  
-
-  virtual ~AliPMDQATask() ;
-  AliPMDQATask& operator = (const AliPMDQATask& ap) ; 
-
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-  void CalculateSMN( Float_t clsX, Float_t clsY, Int_t & smn) const ; 
-  void DrawPMDBoundary() const ;
-  void DrawPMDBoundarySM1() const ;
-  void DrawPMDBoundarySM2() const  ;
-  void DrawPMDBoundarySM3() const ;
-  void DrawPMDBoundarySM4() const ;
-
-private:
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-
-
- // Histograms
-  TH2F * fhPMDP1  ; //!
-  TH1F * fhPMDC2  ; //!
-  TH1F * fhPMDP2  ; //!
-  TH1F * fhPMDC3  ; //!
-  TH1F * fhPMDP3  ; //!
-  TH1F * fhPMDP4  ; //!
-  TH1F * fhPMDC5  ; //!
-  TH1F * fhPMDP5  ; //!
-  TH2F * fhPMDCP0 ; //!
-  TH2F * fhPMDCP1 ; //!
-  TH2F * fhPMDCP2 ; //!
-  TH2F * fhPMDCP3 ; //!
-  TH2F * fhPMDCP4 ; //!
-  
-  TH2F * fhPMDSM1  ; //!
-  TH2F * fhPMDSM2  ; //!
-  TH2F * fhPMDSM3  ; //!
-  TH2F * fhPMDSM4  ; //!
-  TH2F * fhPMDSM5  ; //!
-  TH2F * fhPMDSM6  ; //!
-  TH2F * fhPMDSM7  ; //!
-  TH2F * fhPMDSM8  ; //!
-  TH2F * fhPMDSM9  ; //!
-  TH2F * fhPMDSM10 ; //!
-  TH2F * fhPMDSM11 ; //!
-  TH2F * fhPMDSM12 ; //!
-  TH2F * fhPMDSM13 ; //!
-  TH2F * fhPMDSM14 ; //!
-  TH2F * fhPMDSM15 ; //!
-  TH2F * fhPMDSM16 ; //!
-  TH2F * fhPMDSM17 ; //!
-  TH2F * fhPMDSM18 ; //!
-  TH2F * fhPMDSM19 ; //!
-  TH2F * fhPMDSM20 ; //!
-  TH2F * fhPMDSM21 ; //!
-  TH2F * fhPMDSM22 ; //!
-  TH2F * fhPMDSM23 ; //!
-  TH2F * fhPMDSM24 ; //!
-  TH1F * fhPMDSM   ; //!
-   
-  ClassDef(AliPMDQATask, 0); //! // a PMD analysis task 
-}; 
-#endif // ALIPMDQATASK_H
diff --git a/ESDCheck/AliT0QATask.cxx b/ESDCheck/AliT0QATask.cxx
deleted file mode 100644 (file)
index e6666bf..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//______________________________________________________________________________
-// An analysis task to check the T0 data in simulated data
-//
-//*-- Alla Maevskaya
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h> 
-#include <TH1F.h>
-#include <TLegend.h> 
-#include <TROOT.h>
-#include <TString.h> 
-
-#include "AliT0QATask.h" 
-#include "AliESD.h" 
-#include "AliLog.h"
-#include "AliESDVertex.h" 
-
-//______________________________________________________________________________
-AliT0QATask::AliT0QATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0),
-  fhT01(0),
-  fhT02(0),
-  fhT03(0)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-}
-
-//______________________________________________________________________________
-AliT0QATask::~AliT0QATask()
-{
-  // dtor
-  fOutputContainer->Clear() ; 
-  delete fOutputContainer ;
-  delete fhT01 ; 
-  delete fhT02 ;
-  delete fhT03 ; 
-}
-
-//______________________________________________________________________________
-void AliT0QATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-  
-//________________________________________________________________________
-void AliT0QATask::CreateOutputObjects()
-{
-  // create histograms   
-
-  OpenFile(0) ; 
-
-  fhT01 = new TH1F("hRealVertex", "Primary vertex", 100,   -20,    20);
-  fhT02 = new TH1F("hT0start",    "T0 start time",  100, 12400, 12600);
-  fhT03 = new TH1F("hT0vertex",   "T0vertex",       100,   -20,    20);
-
-
-  // create output container
-  
-  fOutputContainer = new TObjArray(3) ; 
-  fOutputContainer->SetName(GetName()) ; 
-
-  fOutputContainer->AddAt(fhT01,             0) ; 
-  fOutputContainer->AddAt(fhT02,             1) ; 
-  fOutputContainer->AddAt(fhT03,             2) ; 
-}
-
-//______________________________________________________________________________
-void AliT0QATask::Exec(Option_t *) 
-{
-  // Processing of one event
-    
-  Long64_t entry = fChain->GetReadEntry() ;
-  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  // ************************  T0 *************************************
-  
-  const AliESDVertex * vertex = fESD->GetPrimaryVertex() ; 
-  Double_t posZ = vertex->GetZv() ; 
-  fhT01->Fill( posZ ) ;
-
-  fhT02->Fill( fESD->GetT0() ) ;
-  
-  fhT03->Fill( fESD->GetT0zVertex() / 2. ) ;
-  
-  PostData(0, fOutputContainer);
-  
-}
-
-//______________________________________________________________________________
-void AliT0QATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  fhT01 = (TH1F*)fOutputContainer->At(0);
-  fhT02 = (TH1F*)fOutputContainer->At(1);
-  fhT03 = (TH1F*)fOutputContainer->At(2);
-
-  Bool_t problem = kFALSE ; 
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-
-  Float_t mean = fhT02->GetMean();
-
-  printf ("mean time T0 ps %f\n", mean) ;
-
-  if ( mean > 12600 || mean < 12400 ) {
-   AliWarning (" !!!!!!!!!!-----events sample is WRONG - T0 unreal -------");  
-   problem = kTRUE ;
-  }
-  TCanvas  * cTO1 = new TCanvas("cT01", "T0 ESD Test", 400, 10, 600, 700) ;
-  cTO1->Divide(2, 2) ;
-
-  cTO1->cd(1) ; 
-  fhT01->Draw() ; 
-    
-  cTO1->cd(2) ; 
-  fhT02->Draw() ;
-
-  cTO1->cd(3) ; 
-  fhT03->Draw() ; 
-
-
-  cTO1->Print("T0.eps");
-
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  sprintf(line, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-  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())) ; 
-}
diff --git a/ESDCheck/AliT0QATask.h b/ESDCheck/AliT0QATask.h
deleted file mode 100644 (file)
index 3d1b5f1..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef ALIT0QATASK_H
-#define ALIT0QATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// An analysis task to check the T0 data in simulated data
-//
-//*-- Alla Maevskaya
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TTree.h> 
-#include "AliAnalysisTask.h"  
-
-class AliESD ; 
-class TNtuple ;
-class TH1D ; 
-class TH1I ; 
-
-class AliT0QATask : public AliAnalysisTask {
-
-public:
-  AliT0QATask(const char *name) ;
-  virtual ~AliT0QATask() ;
-   
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-
-  // Histograms
-  TH1F * fhT01;
-  TH1F * fhT02;
-  TH1F * fhT03;   
-
-  AliT0QATask(const AliT0QATask&);  // Not implemented
-  AliT0QATask& operator=(const AliT0QATask&);  // Not implemented
-  
-  ClassDef(AliT0QATask, 0); // a T0 photon analysis task 
-};
-#endif // ALIT0QATASK_H
diff --git a/ESDCheck/AliTOFQATask.cxx b/ESDCheck/AliTOFQATask.cxx
deleted file mode 100644 (file)
index 7057146..0000000
+++ /dev/null
@@ -1,709 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-//_________________________________________________________________________
-// An analysis task to check the TOF in simulated data
-//
-//*-- Silvia Arcelli
-//-Distributions of the matching performance
-//-TOF Time info and (TOF - expected time) plots
-//-Summary Plots on TOF Pid
-//////////////////////////////////////////////////////////////////////////////
-#include <TMath.h>
-#include <TChain.h>
-#include <TFile.h> 
-#include <TObject.h> 
-#include <TCanvas.h>
-#include <TStyle.h>
-#include <TGaxis.h>
-#include <TLatex.h>
-#include <TPad.h>
-#include <TSpectrum.h>
-#include <TF1.h>
-#include <TROOT.h>
-#include <TString.h> 
-
-#include "AliTOFQATask.h" 
-#include "AliESD.h" 
-#include "AliESDtrack.h" 
-#include "AliLog.h"
-
-//______________________________________________________________________________
-AliTOFQATask::AliTOFQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0), 
-  fhTOFMatch(0),
-  fhESDeffPhi(0),
-  fhESDeffTheta(0),
-  fhESDeffMom(0),
-  fhTOFeffPhi(0),
-  fhTOFeffTheta(0),
-  fhTOFeffMom(0),
-  fhTOFeffPhiMT(0),
-  fhTOFeffThetaMT(0),
-  fhTOFeffMomMT(0),
-  fhTOFsector(0),
-  fhTOFsectorMT(0),
-  fhTOFTime(0),
-  fhTOFDeltaTime(0),
-  fhTOFDeltaTimeMT(0),
-  fhTOFIDSpecies(0),
-  fhTOFMassVsMom(0),
-  fhTOFMass(0),
-  fmatchFracMin(0.15),
-  fmatchEffMin(0.28),
-  ftimePeakMax(0.05),
-  fmassPeakMax(0.05)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-}
-
-//______________________________________________________________________________
-AliTOFQATask::AliTOFQATask(const AliTOFQATask &qatask) : 
-  AliAnalysisTask("AliTOFQATask",""),  
-  fChain(0),
-  fESD(0), 
-  fOutputContainer(0), 
-  fhTOFMatch(0),
-  fhESDeffPhi(0),
-  fhESDeffTheta(0),
-  fhESDeffMom(0),
-  fhTOFeffPhi(0),
-  fhTOFeffTheta(0),
-  fhTOFeffMom(0),
-  fhTOFeffPhiMT(0),
-  fhTOFeffThetaMT(0),
-  fhTOFeffMomMT(0),
-  fhTOFsector(0),
-  fhTOFsectorMT(0),
-  fhTOFTime(0),
-  fhTOFDeltaTime(0),
-  fhTOFDeltaTimeMT(0),
-  fhTOFIDSpecies(0),
-  fhTOFMassVsMom(0),
-  fhTOFMass(0),
-  fmatchFracMin(0.15),
-  fmatchEffMin(0.28),
-  ftimePeakMax(0.05),
-  fmassPeakMax(0.05)
-{
-  // Copy Constructor.
-  fChain=qatask.fChain;
-  fESD=qatask.fESD; 
-  fOutputContainer=qatask.fOutputContainer; 
-  fhTOFMatch=qatask.fhTOFMatch;
-  fhESDeffPhi=qatask.fhESDeffPhi;
-  fhESDeffTheta=qatask.fhESDeffTheta;
-  fhESDeffMom=qatask.fhESDeffMom;
-  fhTOFeffPhi=qatask.fhTOFeffPhi;
-  fhTOFeffTheta=qatask.fhTOFeffTheta;
-  fhTOFeffMom=qatask.fhTOFeffMom;
-  fhTOFeffPhiMT=qatask.fhTOFeffPhiMT;
-  fhTOFeffThetaMT=qatask.fhTOFeffThetaMT;
-  fhTOFeffMomMT=qatask.fhTOFeffMomMT;
-  fhTOFsector=qatask.fhTOFsector;
-  fhTOFsectorMT=qatask.fhTOFsectorMT;
-  fhTOFTime=qatask.fhTOFTime;
-  fhTOFDeltaTime=qatask.fhTOFDeltaTime;
-  fhTOFDeltaTimeMT=qatask.fhTOFDeltaTimeMT;
-  fhTOFIDSpecies=qatask.fhTOFIDSpecies;
-  fhTOFMassVsMom=qatask.fhTOFMassVsMom;
-  fhTOFMass=qatask.fhTOFMass;
-  fmatchFracMin=qatask.fmatchFracMin;
-  fmatchEffMin=qatask.fmatchEffMin;
-  ftimePeakMax=qatask.ftimePeakMax;
-  fmassPeakMax=qatask.fmassPeakMax;
-}
-//______________________________________________________________________________
-AliTOFQATask:: ~AliTOFQATask() 
-{
-  delete fOutputContainer;
-  delete fhTOFMatch;
-  delete fhESDeffPhi;
-  delete fhESDeffTheta;
-  delete fhESDeffMom;
-  delete fhTOFeffPhi;
-  delete fhTOFeffTheta;
-  delete fhTOFeffMom;
-  delete fhTOFeffPhiMT;
-  delete fhTOFeffThetaMT;
-  delete fhTOFeffMomMT;
-  delete fhTOFsector;
-  delete fhTOFsectorMT;
-  delete fhTOFTime;
-  delete fhTOFDeltaTime;
-  delete fhTOFDeltaTimeMT;
-  delete fhTOFIDSpecies;
-  delete fhTOFMassVsMom;
-  delete fhTOFMass;
-  }
-//______________________________________________________________________________
-AliTOFQATask& AliTOFQATask::operator=(const AliTOFQATask &qatask)  
-{ 
-   //assignment operator
-  this->fChain=qatask.fChain;
-  this->fESD=qatask.fESD; 
-  this->fOutputContainer=qatask.fOutputContainer; 
-  this->fhTOFMatch=qatask.fhTOFMatch;
-  this->fhESDeffPhi=qatask.fhESDeffPhi;
-  this->fhESDeffTheta=qatask.fhESDeffTheta;
-  this->fhESDeffMom=qatask.fhESDeffMom;
-  this->fhTOFeffPhi=qatask.fhTOFeffPhi;
-  this->fhTOFeffTheta=qatask.fhTOFeffTheta;
-  this->fhTOFeffMom=qatask.fhTOFeffMom;
-  this->fhTOFeffPhiMT=qatask.fhTOFeffPhiMT;
-  this->fhTOFeffThetaMT=qatask.fhTOFeffThetaMT;
-  this->fhTOFeffMomMT=qatask.fhTOFeffMomMT;
-  this->fhTOFsector=qatask.fhTOFsector;
-  this->fhTOFsectorMT=qatask.fhTOFsectorMT;
-  this->fhTOFTime=qatask.fhTOFTime;
-  this->fhTOFDeltaTime=qatask.fhTOFDeltaTime;
-  this->fhTOFDeltaTimeMT=qatask.fhTOFDeltaTimeMT;
-  this->fhTOFIDSpecies=qatask.fhTOFIDSpecies;
-  this->fhTOFMassVsMom=qatask.fhTOFMassVsMom;
-  this->fhTOFMass=qatask.fhTOFMass;
-  this->fmatchFracMin=qatask.fmatchFracMin;
-  this->fmatchEffMin=qatask.fmatchEffMin;
-  this->ftimePeakMax=qatask.ftimePeakMax;
-  this->fmassPeakMax=qatask.fmassPeakMax;
-  return *this;
-}
-//______________________________________________________________________________
-void AliTOFQATask::ConnectInputData(const Option_t*)
-{
-  // Initialisation of branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD") ;
-  if (address) 
-    fESD = (AliESD *)(*address) ; 
-  else {
-    fESD = new AliESD() ; 
-    SetBranchAddress(0, "ESD", &fESD) ;  
-  }
-}
-
-//______________________________________________________________________________
-void AliTOFQATask::Exec(Option_t *) 
-{
-
-//******* The loop over events --------------------------------------------------
-
-  Int_t nselESD=0;
-  Int_t nmatchTOF=0;
-  Int_t npidok=0;
-  Int_t pisel=0,kasel=0,prsel=0,elsel=0,musel=0;
-  //Set equal a-priori weights (just charged hadrions)
-  const Int_t nCalinSec=8736;
-  Double_t c[5]={0, 0, 1, 1, 1};
-  // Processing of one event
-  Long64_t entry = fChain->GetReadEntry() ;  
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  
-  // ************************  TOF *************************************
-
-
-  Int_t ntrk = fESD->GetNumberOfTracks() ;
-
-  while ( ntrk-- ) {
-    
-    AliESDtrack * t = fESD->GetTrack(ntrk) ;
-    if ( (t->GetStatus() & AliESDtrack::kTIME)==0 )continue;    
-
-    nselESD++;
-
-    Double_t mom   = t->GetP() ; 
-    Double_t phi   = TMath::ATan2(t->GetX(),t->GetY()) ; 
-    Double_t theta = TMath::ACos(t->GetZ()/
-    TMath::Sqrt(t->GetX()*t->GetX()+t->GetY()*t->GetY()+t->GetZ()*t->GetZ())); 
-    phi*=180/TMath::Pi();
-    theta*=180/TMath::Pi();
-
-    fhESDeffPhi->Fill(phi);
-    fhESDeffTheta->Fill(theta);
-    fhESDeffMom->Fill(mom);
-
-
-    if(t->GetTOFsignal()<0)continue;
-
-    nmatchTOF++;
-
-    Double_t time=t->GetTOFsignal();//TOF time in ps   
-    Int_t detid=t->GetTOFCalChannel();//which pad was hit
-    Int_t sector = detid/nCalinSec;
-    fhTOFTime->Fill(time*1.E-3);
-    fhTOFeffPhi->Fill(phi);
-    fhTOFeffTheta->Fill(theta);
-    fhTOFeffMom->Fill(mom);
-    fhTOFsector->Fill(sector);
-    //Well matched
-
-    Int_t label=TMath::Abs(t->GetLabel());
-    Int_t clab[3]; t->GetTOFLabel(clab);    
-    if(label==clab[0] || label==clab[1] || label==clab[2]) {
-      fhTOFeffPhiMT->Fill(phi);
-      fhTOFeffThetaMT->Fill(theta);
-      fhTOFeffMomMT->Fill(mom);
-      fhTOFsectorMT->Fill(sector);
-    }          
-
-    //Look at TOF PID 
-
-    UInt_t status=AliESDtrack::kESDpid;status|=AliESDtrack::kTOFpid; 
-    if (!((t->GetStatus()&status) == status))continue;
-    npidok++;
-    Double_t times[10];
-    t->GetIntegratedTimes(times);//ps
-    Double_t l   =t->GetIntegratedLength()/100.; // (m)
-    Double_t mass= -1.;
-    Double_t invBetaGamma= (0.299*time*1.E-3/l)*(0.299*time*1.E-3/l) -1.;
-    if(invBetaGamma<0){mass = -mom*TMath::Sqrt(-invBetaGamma);}
-    else{mass = mom*TMath::Sqrt(invBetaGamma);}
-
-    //The Mass/ vs Momentum Plot:
-    fhTOFMassVsMom->Fill(mass,mom);
-    fhTOFMass->Fill(mass);
-    
-    //PID weights 
-    Double_t r[10]; t->GetTOFpid(r);
-    Double_t rcc=0.;
-    Int_t i;
-    for (i=0; i<AliPID::kSPECIES; i++) rcc+=(c[i]*r[i]);
-    if (rcc==0.) continue;
-    Double_t w[10];
-    for (i=0; i<AliPID::kSPECIES; i++) w[i]=c[i]*r[i]/rcc;
-    
-    fhTOFDeltaTime->Fill((time-times[2])*1.E-3);
-
-    if(label==clab[0] || label==clab[1] || label==clab[2]) {
-      fhTOFDeltaTimeMT->Fill((time-times[2])*1.E-3);
-    }          
-    
-    if (w[4]>w[0] && w[4]>w[1] && w[4]>w[2] && w[4]>w[3]){
-      prsel++;
-      fhTOFIDSpecies->Fill(4);
-    }
-    if (w[3]>w[0] && w[3]>w[1] && w[3]>w[2] && w[3]>w[4]){
-      kasel++;
-      fhTOFIDSpecies->Fill(3);
-    }
-    if (w[2]>w[0] && w[2]>w[1] && w[2]>w[3] && w[2]>w[4]){
-      pisel++;
-      fhTOFIDSpecies->Fill(2);
-    }
-    if (w[1]>w[0] && w[1]>w[2] && w[1]>w[3] && w[1]>w[4]){
-      musel++;
-      fhTOFIDSpecies->Fill(1);
-    }
-    if (w[0]>w[1] && w[0]>w[2] && w[0]>w[3] && w[0]>w[4]){
-      elsel++;  
-      fhTOFIDSpecies->Fill(0);
-    }
-  }
-
-  Float_t fracM= -1;
-  if(nselESD>10)fracM=((Float_t) nmatchTOF)/((Float_t) nselESD);
-  fhTOFMatch->Fill(fracM);
-
-  PostData(0, fOutputContainer);  
-
-}
-//______________________________________________________________________________
-void AliTOFQATask::CreateOutputObjects()
-{  
-  // Construct histograms:
-  
-  OpenFile(0) ; 
-
-  fhTOFMatch= 
-    new TH1F("hTOFMatch","Fraction of Matched TOF tracks",101,-0.005,1.005);
-  fhESDeffPhi= 
-    new TH1F("hESDeffPhi","ESD tracks Phi(vtx)",    180, -180., 180.) ;
-  fhESDeffTheta= 
-    new TH1F("hESDeffTheta","ESD tracks Theta (vtx)",90, 45., 135.) ;
-  fhESDeffMom= 
-    new TH1F("hESDeffMom","ESD tracks Momentum (vtx)",40, 0., 6.) ;
-  fhTOFeffPhi = 
-    new TH1F("hTOFeffPhi","TOF, Matched vs Phi(vtx)", 180,-180, 180.);
-  fhTOFeffPhiMT= 
-    new TH1F("hTOFeffPhiMT","TOF, Well Matched vs Phi(vtx)",180,-180,180.);
-  fhTOFeffTheta= 
-    new TH1F("hTOFeffTheta","TOF, Matched vs Theta(vtx)",90,45.,135.);  
-  fhTOFeffThetaMT= 
-    new TH1F("hTOFeffThetaMT","TOF, Well Matched vs Theta(vtx)",90,45.,135.);
-  fhTOFeffMom = 
-    new TH1F("hTOFeffMom","TOF, Matched vs Momentum ", 40, 0.,6.);
-  fhTOFeffMomMT = 
-    new TH1F("hTOFeffMomMT","TOF, Well Matched vs Momentum ", 40, 0.,6.); 
-  fhTOFsector = 
-    new TH1F("hTOFsector","TOF, Matched vs Sector ", 18,0.,18.); 
-  fhTOFsectorMT = 
-    new TH1F("hTOFsectorMT","TOF, Well Matched vs Sector", 18, 0.,18.); 
-
-  fhESDeffMom->Sumw2(); fhTOFeffMom->Sumw2();  fhTOFeffMomMT->Sumw2();
-  fhESDeffTheta->Sumw2();  fhTOFeffTheta->Sumw2();  fhTOFeffThetaMT->Sumw2();
-  fhESDeffPhi->Sumw2();  fhTOFeffPhi->Sumw2();  fhTOFeffPhiMT->Sumw2();
-  fhTOFsector->Sumw2(); fhTOFsectorMT->Sumw2();
-
-  fhTOFTime = 
-    new TH1F("hTOFTime","TOF, t(TOF)in ns ",1000,0,100.); 
-  fhTOFDeltaTime = 
-    new TH1F("hTOFDeltaTime","TOF,t(TOF)-t(exp,pion), ns ",1000,-4.4,20.);   
-  fhTOFDeltaTimeMT = 
-    new TH1F("hTOFDeltaTimeMT","TOF, t(TOF)-t(exp,pion) for Well Matched, ns ",1000,-4.4,20.); 
-  fhTOFIDSpecies = 
-    new TH1F("hTOFIDSpecies","TOF, ID Sample Composition ",5,-0.5,4.5);
-  fhTOFMassVsMom = 
-    new TH2F("hTOFMassVsMom","TOF, Mass Vs Momentum ",280,-0.2,1.2,600,0.,6.);
-  fhTOFMass = 
-    new TH1F("hTOFMass","TOF, reconstructed mass ",240,0.,1.2);
-
-  
-  // create the output container
-  
-  fOutputContainer = new TObjArray(18) ; 
-  fOutputContainer->SetName(GetName()) ; 
-
-  fOutputContainer->AddAt(fhTOFMatch,             0) ; 
-  fOutputContainer->AddAt(fhESDeffPhi,            1) ; 
-  fOutputContainer->AddAt(fhESDeffTheta,          2) ; 
-  fOutputContainer->AddAt(fhESDeffMom,            3) ; 
-  fOutputContainer->AddAt(fhTOFeffPhi,            4) ; 
-  fOutputContainer->AddAt(fhTOFeffPhiMT,          5) ; 
-  fOutputContainer->AddAt(fhTOFeffTheta,          6) ; 
-  fOutputContainer->AddAt(fhTOFeffThetaMT,        7) ; 
-  fOutputContainer->AddAt(fhTOFeffMom,            8) ; 
-  fOutputContainer->AddAt(fhTOFeffMomMT,          9) ; 
-  fOutputContainer->AddAt(fhTOFsector,           10) ; 
-  fOutputContainer->AddAt(fhTOFsectorMT,         11) ; 
-  fOutputContainer->AddAt(fhTOFTime,             12) ; 
-  fOutputContainer->AddAt(fhTOFDeltaTime ,       13) ; 
-  fOutputContainer->AddAt(fhTOFDeltaTimeMT,      14) ; 
-  fOutputContainer->AddAt(fhTOFIDSpecies,        15) ; 
-  fOutputContainer->AddAt(fhTOFMassVsMom,        16) ; 
-  fOutputContainer->AddAt(fhTOFMass,             17) ; 
-  
-}
-//______________________________________________________________________________
-void AliTOFQATask::GetEfficiency() 
-{
-  // calculates the efficiency
-  
-  
-  fhTOFeffPhiMT->Divide(fhTOFeffPhiMT,fhTOFeffPhi,1,1,"B");
-  fhTOFeffThetaMT->Divide(fhTOFeffThetaMT,fhTOFeffTheta,1,1,"B");
-  fhTOFeffMomMT->Divide(fhTOFeffMomMT,fhTOFeffMom,1,1,"B");
-
-  fhTOFeffPhi->Divide(fhTOFeffPhi,fhESDeffPhi,1,1,"B");
-  fhTOFeffTheta->Divide(fhTOFeffTheta,fhESDeffTheta,1,1,"B");
-  fhTOFeffMom->Divide(fhTOFeffMom,fhESDeffMom,1,1,"B");
-  
-}
-
-//______________________________________________________________________________
-Bool_t AliTOFQATask::DrawHistos() 
-{
-
-
-  Int_t TOFsectors[18]={0,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1};//TOF sectors which are supposed to be present
-  const char* part[3]={"pions","kaons","protons"};// pi,ka,pr
-  const Float_t masses[3]={0.1396,0.494,0.938};// particle masses pi,ka,pr
-  // Makes a few plots
-
-  gROOT->SetStyle("Plain");
-  gStyle->SetPalette(1);
-  gStyle->SetOptStat(111110);
-  gStyle->SetPalette(1);
-  gStyle->SetCanvasColor(0);
-  gStyle->SetFrameFillColor(0);
-  //
-  TGaxis::SetMaxDigits(3);  
-  gStyle->SetLabelFont(52, "XYZ");
-  gStyle->SetTitleFont(62, "XYZ");
-  gStyle->SetPadRightMargin(0.02);
-
-  
-  TCanvas * cTOFeff = new TCanvas("cTOFeff", "TOF ESD General", 400, 30, 550, 630) ;
-
-  cTOFeff->Divide(1,2) ;
-  cTOFeff->cd(1);
-  fhTOFMatch->GetXaxis()->SetTitle("Fraction of matched ESD tracks/event");
-  fhTOFMatch->GetYaxis()->SetTitle("Events");
-  fhTOFMatch->SetFillColor(4);
-  fhTOFMatch->Draw();  
-  cTOFeff->cd(2);
-  TPad *b = (TPad*)gPad;
-  b->Divide(2,1);
-  b->cd(1) ;
-  fhTOFsector->GetXaxis()->SetTitle("Sector index of matched TOF Cluster");
-  fhTOFsector->GetYaxis()->SetTitle("Entries");
-  fhTOFsector->SetFillColor(4);
-  fhTOFsector->SetMinimum(0.);
-  fhTOFsector->GetYaxis()->SetNdivisions(205);
-  fhTOFsector->GetYaxis()->SetTitleOffset(1.2);
-  fhTOFsector->Draw("histo");
-  b->cd(2) ;
-  fhTOFeffMom->SetMaximum(1.2);
-  fhTOFeffMom->GetXaxis()->SetTitle("Track momentum (GeV/c)");
-  fhTOFeffMom->GetYaxis()->SetNdivisions(205);
-  fhTOFeffMom->GetYaxis()->SetTitleOffset(1.2);
-  fhTOFeffMom->GetYaxis()->SetTitle("Fraction of matched ESD tracks");
-  fhTOFeffMom->SetFillColor(4);
-  fhTOFeffMom->Draw();
-  fhTOFeffMom->Fit("pol0","Q","",0.5,3.);
-  TF1 *fitMom = fhTOFeffMom->GetFunction("pol0");
-  fhTOFeffMom->Draw("histo,same");
-  
-  cTOFeff->Print("TOF_eff.eps");
-
-
-
-  TCanvas * cTOFtime = new TCanvas("cTOFtime", "TOF measured Times ", 400, 30, 550, 630) ;  
-  cTOFtime->Divide(1,2) ;
-  cTOFtime->cd(1);
-  if ( fhTOFTime->GetMaximum() > 0 ) 
-    cTOFtime->GetPad(1)->SetLogy(1);
-  fhTOFTime->GetXaxis()->SetTitle("TOF time (ns)");
-  fhTOFTime->GetYaxis()->SetTitle("Entries");
-  fhTOFTime->SetFillColor(4);
-  fhTOFTime->Draw();
-  cTOFtime->cd(2);
-  if ( fhTOFDeltaTime->GetMaximum() > 0 ) 
-    cTOFtime->GetPad(2)->SetLogy(1);
-  fhTOFDeltaTime->GetXaxis()->SetTitle("t^{TOF}-t^{exp}_{#pi} (ns)");
-  fhTOFDeltaTime->GetYaxis()->SetTitle("Entries");
-  fhTOFDeltaTime->SetFillColor(4);
-  Int_t ntimepeak=1;
-  TSpectrum *timeDiff = new TSpectrum(ntimepeak);
-  Int_t ntime = timeDiff->Search(fhTOFDeltaTime,ntimepeak,"new",0.1);
-  fhTOFDeltaTime->Draw();
-
-  cTOFtime->Print("TOF_time.eps");
-
-
-  TCanvas * cTOFpid = new TCanvas("cTOFpid", "TOF PID ", 400, 30, 550, 630) ;  
-  cTOFpid->Divide(1,3) ;
-  cTOFpid->cd(1);
-  if ( fhTOFMass->GetMaximum() > 0 ) 
-    cTOFpid->SetLogy(1);
-  fhTOFMass->GetXaxis()->SetTitle("Reconstructed Mass (GeV/c^{2})");
-  fhTOFMass->GetYaxis()->SetTitle("Entries");
-  fhTOFMass->SetFillColor(4);
-  Int_t npmass=1;
-  if(fhTOFMass->GetEntries()>1000)npmass=3;
-  TSpectrum *mass = new TSpectrum(npmass);
-  Int_t nmass = mass->Search(fhTOFMass,npmass,"new",0.02);
-  fhTOFMass->Draw();
-  if ( fhTOFMassVsMom->GetMaximum() > 0 ) 
-    cTOFpid->SetLogy(0);
-  cTOFpid->cd(2);
-  fhTOFMassVsMom->GetYaxis()->SetRange(0,400);
-  fhTOFMassVsMom->GetXaxis()->SetTitle("Reconstructed Mass (GeV/c^{2})");
-  fhTOFMassVsMom->GetYaxis()->SetTitle("Track Momentum (GeV/c)");
-  fhTOFMassVsMom->GetXaxis()->SetTitleSize(0.05);
-  fhTOFMassVsMom->GetYaxis()->SetTitleSize(0.05);
-  fhTOFMassVsMom->SetMarkerStyle(20);
-  fhTOFMassVsMom->SetMarkerSize(0.05);
-  fhTOFMassVsMom->SetMarkerColor(2);
-  fhTOFMassVsMom->Draw();
-  cTOFpid->cd(3);
-
-  TLatex *   tex = new TLatex(1., 1.25, "Bayesian PID: a-priori concentrations: [0,0,1,1,1]");
-  tex->SetTextColor(1);
-  tex->SetTextSize(0.045);
-  tex->SetLineWidth(2);
-
-  Float_t norm=1./fhTOFIDSpecies->GetEntries();
-  fhTOFIDSpecies->Scale(norm);
-  fhTOFIDSpecies->SetMaximum(1.2);
-  fhTOFIDSpecies->GetXaxis()->SetTitle("Particle Type");
-  fhTOFIDSpecies->GetYaxis()->SetTitle("ID Fractions");
-  fhTOFIDSpecies->GetXaxis()->SetTitleSize(0.05);
-  fhTOFIDSpecies->GetYaxis()->SetTitleSize(0.05);
-  fhTOFIDSpecies->SetFillColor(4);
-  fhTOFIDSpecies->Draw();
-  tex->Draw();
-  char ch[10];
-
-  Float_t pifrac=fhTOFIDSpecies->GetBinContent(3);
-  Float_t kafrac=fhTOFIDSpecies->GetBinContent(4);
-  Float_t prfrac=fhTOFIDSpecies->GetBinContent(5);
-
-  sprintf(ch,"[2]:pion fraction   = %5.3f",pifrac);    
-  TLatex *   texpi = new TLatex(-0.3, 0.9, ch);
-  texpi->SetTextColor(1);
-  texpi->SetTextSize(0.05);
-  texpi->SetLineWidth(2);
-  texpi->Draw();
-  sprintf(ch,"[3]:kaon fraction   = %5.3f",kafrac);    
-  TLatex *   texka = new TLatex(-0.3, 0.8, ch);
-  texka->SetTextColor(1);
-  texka->SetTextSize(0.05);
-  texka->SetLineWidth(2);
-  texka->Draw();
-  sprintf(ch,"[4]:proton fraction = %5.3f",prfrac);    
-  TLatex *   texpr = new TLatex(-0.3, 0.7, ch);
-  texpr->SetTextColor(1);
-  texpr->SetTextSize(0.05);
-  texpr->SetLineWidth(2);
-  texpr->Draw();
-
-
-  cTOFpid->Print("TOF_pid.eps");
-
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  sprintf(line, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-  AliInfo(Form("*** TOF QA plots saved in %s.tar.gz...", GetName())) ;
-
-  Bool_t hardProblem=kFALSE;
-  Bool_t softProblem=kFALSE;
-  //------------------------------Matching Efficiency
-
-  //Overall Fraction:
-  Float_t matchFrac= fhTOFMatch->GetMean();
-  if(matchFrac<fmatchFracMin){
-    AliWarning(Form("*** Overall Fraction of matched tracks too low! Fraction = %f", matchFrac)) ;
-    softProblem=kTRUE;
-  }else{
-    AliInfo(Form("*** Fraction of matched tracks  = %f", matchFrac)) ; 
-  } 
-
-  if(fhTOFeffMom->GetEntries()<1.){
-    AliWarning(Form("*** No tracks matching with TOF! Fraction is = %f", matchFrac)) ; 
-    hardProblem=kTRUE;
-    return hardProblem;
-  }
-
-  
-  //The efficiency as a function of momentum:
-  Float_t eff=  fitMom->GetParameter(0);
-  Float_t deff=  fitMom->GetParError(0);
-  if(eff+3*deff<fmatchEffMin){
-    AliWarning(Form("*** Fraction of matched tracks vs Momentum is too low! Fraction= %f", eff)) ;
-    softProblem=kTRUE;
-  }else{
-    AliInfo(Form("*** Fraction of matched tracks for p>0.5 GeV is = %f", eff)) ;
-  } 
-
-  //Matched tracks vs TOF Sector:
-  for(Int_t isec=1;isec<=18;isec++){
-    if(fhTOFsector->GetBinContent(isec)<1 && TOFsectors[isec-1]>0){
-      AliWarning(Form("*** Missing Entries in sector %i", isec)); 
-      softProblem=kTRUE;
-    }
-    if(fhTOFsector->GetBinContent(isec)>0 && TOFsectors[isec-1]==0){
-      AliWarning(Form("*** Unexpected Entries in sector %i", isec)); 
-      softProblem=kTRUE;
-    }
-  }
-
-  //-----------------------------Pid Quality
-
-  // Look at the time - expected time: 
-  if(ntime==0){
-    AliWarning("*** No peak was found in time difference spectrum!");
-  }
-  else if (ntime>0){
-    Float_t *timePos = timeDiff->GetPositionX();
-    if(TMath::Abs(timePos[0])>3*ftimePeakMax){
-      AliWarning(Form("*** Main Peak position in tTOF-TEXP spectrum is sitting very far from where expected! Tpeak = %f ps",timePos[0]*1.E3));  
-      hardProblem=kTRUE;
-    }
-    else if(TMath::Abs(timePos[0])>ftimePeakMax){
-      AliWarning(Form("*** Main Peak position in tTOF-TEXP spectrum is sitting far from where expected! Tpeak = %f ps",timePos[0]*1.E3));  
-      softProblem=kTRUE;
-    }else{
-      AliInfo(Form("*** Main Peak position in tTOF-TEXP found at = %f ps",timePos[0]*1.E3));  
-    }
-  }
-
-  // Look at the Mass Spectrum: 
-  if(nmass==0){
-    AliWarning("*** No peak was found in Mass difference spectrum!");
-    softProblem=kTRUE;
-  }
-  else if(nmass>0){
-    Int_t massind[3];
-    Float_t *massPos = mass->GetPositionX();
-    //check the found peaks (sorted in ascending mass order)
-    TMath::Sort(nmass,massPos,massind,kFALSE);
-    for(Int_t imass=0;imass<TMath::Min(nmass,3);imass++){   
-      AliInfo(Form("*** the Mass peak for %s found at  = %f GeV/c^2",part[imass],massPos[massind[imass]]));
-      if(TMath::Abs( massPos[massind[imass]]-masses[imass])> fmassPeakMax){
-       AliWarning(Form("*** the Mass peak position for %s is not in the right place, found at  = %f GeV/c^2",part[imass],massPos[massind[imass]]));
-       softProblem=kTRUE;
-      }
-    }
-    // harder check on the pion peak (more statistically significant)
-    if(TMath::Abs( massPos[massind[0]]-masses[0])> 3*fmassPeakMax){
-      hardProblem=kTRUE;
-    }
-  }
-  // Look at the ID Species: 
-
-  if(fhTOFIDSpecies->GetEntries()>1000){
-    if(pifrac<0.8 || (kafrac<0.01 || kafrac>0.2) || (prfrac<0.01 || prfrac>0.2)){
-      AliWarning(Form("*** Unexpected Id fractions: pions = %f, kaons = %f, protons %f", pifrac,kafrac,prfrac));
-      softProblem=kTRUE;
-    }
-  }
-
-  delete mass;
-  delete timeDiff;
-  return hardProblem || softProblem ; 
-}
-
-//______________________________________________________________________________
-void AliTOFQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended, some plots+checks
-  
-  AliInfo(Form("*** %s Report:", GetName())) ; 
-  GetEfficiency();
-  Bool_t problem = DrawHistos() ; 
-
-  TString report ; 
-  if(problem)
-    report="Problems found, please check!!!";  
-  else 
-    report="OK";
-
-  AliInfo(Form("*** %s Summary Report: %s\n",GetName(), report.Data())) ; 
-  
-}
diff --git a/ESDCheck/AliTOFQATask.h b/ESDCheck/AliTOFQATask.h
deleted file mode 100644 (file)
index 3c3e16d..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef ALITOFQATASK_H
-#define ALITOFQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// An analysis task to check the TOF performance in simulated data
-// 
-//*-- Silvia Arcelli 
-//-Distributions to monitor the quality of the track matching, Time, PID
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TTree.h> 
-#include <TH1F.h> 
-#include <TH2F.h> 
-#include "AliAnalysisTask.h"  
-
-class AliESD ; 
-
-class AliTOFQATask : public AliAnalysisTask {
-
-public:
-  AliTOFQATask(const char *name) ; //ctor
-  AliTOFQATask(const AliTOFQATask & qatask); // copy constructor
-  AliTOFQATask& operator=(const AliTOFQATask & qatask); // assignment operator
-  virtual ~AliTOFQATask(); //dtor
-  virtual void Exec(Option_t * opt = "") ;
-  virtual void ConnectInputData(Option_t *) ;
-  virtual void CreateOutputObjects() ; 
-  virtual void Terminate(Option_t * opt = "") ;
-
-private:
-  Bool_t DrawHistos() ;
-  void GetEfficiency() ;
-  TTree   * fChain ;            //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD ;              //! Declaration of leave types
-
-  TObjArray * fOutputContainer ; //! output data container
-
-  // Histograms
-  TH1F    * fhTOFMatch ; //Fraction of Matched tracks (kTIME)
-  TH1F    * fhESDeffPhi ;   //Phi dst. of all ESD tracks (kTIME)
-  TH1F    * fhESDeffTheta ; //Theta dst. of all ESD tracks (kTIME)
-  TH1F    * fhESDeffMom ;   //Mom. dst. of all ESD tracks (kTIME)
-  TH1F    * fhTOFeffPhi ;   //Phi dst.of ESD tracks matched with TOF
-  TH1F    * fhTOFeffTheta ; //Theta dst.of ESD tracks matched with TOF
-  TH1F    * fhTOFeffMom ;   //Mom. dst.of ESD tracks matched with TOF
-  TH1F    * fhTOFeffPhiMT ; //Phi dst.of ESD tracks, good match with TOF(MC)
-  TH1F    * fhTOFeffThetaMT;//Theta dst.of ESD tracks, good match with TOF(MC)
-  TH1F    * fhTOFeffMomMT ; //Mom.dst.of ESD tracks, good match with TOF(MC)
-  TH1F    * fhTOFsector ;   //sector distr.of matched TOF pads 
-  TH1F    * fhTOFsectorMT ; //sector distr.of TOF pads, good match (MC)  
-  TH1F    * fhTOFTime ; //Time Distribution of TOF Clusters matched to tracks 
-  TH1F    * fhTOFDeltaTime; //TOF-exp.Time (pion mass hypothesis)
-  TH1F    * fhTOFDeltaTimeMT; //TOF-exp.Time (pion mass), good match(MC)
-  TH1F    * fhTOFIDSpecies; //ID-Sample Composition
-  TH2F    * fhTOFMassVsMom; //Mass vs Momentum correlation
-  TH1F    * fhTOFMass;      //reconstructed Mass from TOF
-   
-  // Some QA parameters
-
-  Float_t fmatchFracMin;       //Thresholds for QA checks (matched tracks)
-  Float_t fmatchEffMin;        //Thresholds for QA checks (matched tracks)
-  Float_t ftimePeakMax;        //Thresholds for QA checks (time spectrum)
-  Float_t fmassPeakMax;        //Thresholds for QA checks (mass spectrum)
-  ClassDef(AliTOFQATask, 1); //  TOF Quality Assurance analysis task 
-};
-#endif // ALITOFQATASK_H
diff --git a/ESDCheck/AliTRDQATask.cxx b/ESDCheck/AliTRDQATask.cxx
deleted file mode 100644 (file)
index dac3d81..0000000
+++ /dev/null
@@ -1,739 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-
-//_________________________________________________________________________
-// An analysis task to check the TRD data in simulated data
-//
-//*-- Sylwester Radomski
-//////////////////////////////////////////////////////////////////////////////
-// track type codding
-//
-// tpci = kTPCin
-// tpco = kTPCout
-// tpcz = kTPCout && !kTRDout
-// trdo = kTRDout
-// trdr = kTRDref
-// trdz = kTRDout && !kTRDref
-// 
-
-#include <TCanvas.h>
-#include <TChain.h>
-#include <TFile.h>
-#include <TGaxis.h>
-#include <TH1D.h>
-#include <TH2D.h>
-#include <TROOT.h>
-#include <TStyle.h>
-#include <TString.h> 
-
-#include "AliTRDQATask.h"
-#include "AliESD.h"
-#include "AliLog.h"
-
-//______________________________________________________________________________
-AliTRDQATask::AliTRDQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0),
-  fOutputContainer(0),
-  fConfSM(0),
-  fNTracks(0),
-  fEventSize(0),
-  fTrackStatus(0),
-  fParIn(0),
-  fParOut(0),
-  fKinkIndex(0),
-  fXIn(0),
-  fXOut(0),
-  fSectorTRD(0),
-  fTime(0),
-  fBudget(0),
-  fQuality(0),
-  fSignal(0),
-  fTrdSigMom(0),
-  fTpcSigMom(0)
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-}
-
-//______________________________________________________________________________
-void AliTRDQATask::ConnectInputData(const Option_t *)
-{
-  // Initialisation of branch container and histograms 
-
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Get input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliTRDQATask::CreateOutputObjects()
-{
-  // create histograms 
-
-  OpenFile(0) ; 
-
-  fNTracks     = new TH1D("ntracks", ";number of all tracks", 500, -0.5, 499.5); 
-  fEventSize   = new TH1D("evSize", ";event size (MB)", 100, 0, 5);
-
-  fTrackStatus = new TH1D("trackStatus", ";status bit", 32, -0.5, 31.5);
-  fKinkIndex   = new TH1D("kinkIndex", ";kink index", 41, -20.5, 20.5);
-  
-  fParIn  = new TH1D("parIn", "Inner Plane", 2, -0.5, 1.5);
-  fParOut = new TH1D("parOut", "Outer Plane", 2, -0.5, 1.5);
-
-  fXIn  = new TH1D("xIn", ";X at the inner plane (cm)", 200, 50, 250);
-  fXOut = new TH1D("xOut", ";X at the outer plane (cm)", 300, 50, 400);
-  
-  const int knNameAlpha = 4;
-  const char *namesAlpha[knNameAlpha] = {"alphaTPCi", "alphaTPCo", "alphaTRDo", "alphaTRDr"};
-  //TH1D *fAlpha[4];
-  for(int i=0; i<knNameAlpha; i++) {
-    fAlpha[i] = new TH1D(namesAlpha[i], "alpha", 100, -4, 4);
-  }
-  fSectorTRD = new TH1D ("sectorTRD", ";sector TRD", 20, -0.5, 19.5);
-
-
-  // track parameters
-  const int knbits = 6;
-  const char *suf[knbits] = {"TPCi", "TPCo", "TPCz", "TRDo", "TRDr", "TRDz"};
-  for(int i=0; i<knbits; i++) {
-    fPt[i]      = new TH1D(Form("pt%s",suf[i]), ";p_{T} (GeV/c);entries TPC", 50, 0, 10);
-    fTheta[i]   = new TH1D(Form("theta%s", suf[i]), "theta (rad)", 100, -4, 4); 
-    fSigmaY[i]  = new TH1D(Form("sigmaY%s",suf[i]),  ";sigma Y (cm)", 200, 0, 1);
-    fChi2[i]    = new TH1D(Form("Chi2%s", suf[i]), ";#chi2 / ndf", 100, 0, 10);
-    fPlaneYZ[i] = new TH2D(Form("planeYZ%s", suf[i]), Form("%sy (cm);z (cm)", suf[i]), 
-                          100, -60, 60, 500, -500, 500);
-  }
-  
-  // efficiency
-  fEffPt[0] = (TH1D*) fPt[0]->Clone(Form("eff_%s_%s", suf[0], suf[1]));
-  fEffPt[1] = (TH1D*) fPt[0]->Clone(Form("eff_%s_%s", suf[1], suf[3]));
-  fEffPt[2] = (TH1D*) fPt[0]->Clone(Form("eff_%s_%s", suf[3], suf[4]));
-  fEffPt[3] = (TH1D*) fPt[0]->Clone(Form("eff_%s_%s", suf[1], suf[4]));
-
-  for(int i=0; i<4; i++) {
-    fEffPt[i]->Sumw2();
-    fEffPt[i]->SetMarkerStyle(20);
-    fEffPt[i]->SetMinimum(0);
-    fEffPt[i]->SetMaximum(1.1);
-  }
-
-  // track features
-  fClustersTRD[0] = new TH1D("clsTRDo", "TRDo;number of clusters", 130, -0.5, 129.5);;
-  fClustersTRD[1] = new TH1D("clsTRDr", "TRDr;number of clusters", 130, -0.5, 129.5);;
-  fClustersTRD[2] = new TH1D("clsTRDz", "TRDz;number of clusters", 130, -0.5, 129.5);;
-
-  // for good refitted tracks only
-  fTime    = new TH1D("time", ";time bin", 25, -0.5, 24.5);
-  fBudget  = new TH1D("budget", ";material budget", 100, 0, 100);
-  fQuality = new TH1D("quality", ";track quality", 100, 0, 1.1);
-  fSignal  = new TH1D("signal", ";signal", 100, 0, 1e3);  
-  
-  // dEdX and PID
-  fTrdSigMom = new TH2D("trdSigMom", ";momentum (GeV/c);signal", 100, 0, 3, 100, 0, 1e3);
-  fTpcSigMom = new TH2D("tpcSigMom", ";momentum (GeV/c);signal", 100, 0, 3, 100, 0, 200);
-  
-  const char *pidName[6] = {"El", "Mu", "Pi", "K", "P", "Ch"};
-  for(int i=0; i<6; i++) {
-    
-    // TPC
-    fTpcPID[i] = new TH1D(Form("tpcPid%s",pidName[i]), pidName[i], 100, 0, 1.5);
-    fTpcPID[i]->GetXaxis()->SetTitle("probability");
-    
-    fTpcSigMomPID[i] = new TH2D(Form("tpcSigMom%s",pidName[i]), "", 100, 0, 3, 100, 0, 200);
-    fTpcSigMomPID[i]->SetTitle(Form("%s;momentum (GeV/c);signal",pidName[i])); 
-    
-    // TRD
-    fTrdPID[i] = new TH1D(Form("trdPid%s",pidName[i]), pidName[i], 100, 0, 1.5);
-    fTrdPID[i]->GetXaxis()->SetTitle("probability");
-     
-    fTrdSigMomPID[i] = new TH2D(Form("trdSigMom%s",pidName[i]), "", 100, 0, 3, 100, 0, 1e3);
-    fTrdSigMomPID[i]->SetTitle(Form("%s;momentum (GeV/c);signal",pidName[i]));  
-  }
-
-  
-  // create output container
-  fOutputContainer = new TObjArray(150); 
-  
-  // register histograms to the container  
-  int counter = 0;
-  
-  fOutputContainer->AddAt(fNTracks,     counter++);
-  fOutputContainer->AddAt(fEventSize,   counter++);
-  fOutputContainer->AddAt(fTrackStatus, counter++);
-  fOutputContainer->AddAt(fKinkIndex,   counter++);
-  fOutputContainer->AddAt(fParIn,       counter++);
-  fOutputContainer->AddAt(fParOut,      counter++);
-  fOutputContainer->AddAt(fXIn,         counter++);
-  fOutputContainer->AddAt(fXOut,        counter++);
-  fOutputContainer->AddAt(fAlpha[0],    counter++);
-  fOutputContainer->AddAt(fAlpha[1],    counter++);
-  fOutputContainer->AddAt(fAlpha[2],    counter++);
-  fOutputContainer->AddAt(fAlpha[3],    counter++);
-
-  fOutputContainer->AddAt(fSectorTRD,   counter++);
-  for(int i=0; i<knbits; i++) {
-     fOutputContainer->AddAt(fPt[i],      counter++);
-     fOutputContainer->AddAt(fTheta[i],   counter++);
-     fOutputContainer->AddAt(fSigmaY[i],  counter++);
-     fOutputContainer->AddAt(fChi2[i],    counter++);
-     fOutputContainer->AddAt(fPlaneYZ[i], counter++);
-  }   
-  fOutputContainer->AddAt(fEffPt[0], counter++);
-  fOutputContainer->AddAt(fEffPt[1], counter++);
-  fOutputContainer->AddAt(fEffPt[2], counter++);
-  fOutputContainer->AddAt(fEffPt[3], counter++);
-
-  fOutputContainer->AddAt(fClustersTRD[0], counter++);
-  fOutputContainer->AddAt(fClustersTRD[1], counter++);
-  fOutputContainer->AddAt(fClustersTRD[2], counter++);
-  fOutputContainer->AddAt(fTime,      counter++);
-  fOutputContainer->AddAt(fBudget,    counter++);
-  fOutputContainer->AddAt(fQuality,   counter++);
-  fOutputContainer->AddAt(fSignal,    counter++);
-  fOutputContainer->AddAt(fTrdSigMom, counter++);
-  fOutputContainer->AddAt(fTpcSigMom, counter++);
-  for(int i=0; i<6; i++) {
-     fOutputContainer->AddAt(fTpcPID[i],       counter++);
-     fOutputContainer->AddAt(fTpcSigMomPID[i], counter++);
-     fOutputContainer->AddAt(fTrdPID[i],       counter++);
-     fOutputContainer->AddAt(fTrdSigMomPID[i], counter++);
-  }
-
-  //AliInfo(Form("Number of histograms = %d", counter));
-
- }
-
-//______________________________________________________________________________
-void AliTRDQATask::Exec(Option_t *) 
-{
-  // Process one event
-  
-   Long64_t entry = fChain->GetReadEntry() ;
-  
-  // Processing of one event 
-   
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-
-  int nTracks = fESD->GetNumberOfTracks();
-  fNTracks->Fill(nTracks); 
-
-  // track loop
-  for(int i=0; i<nTracks; i++) {
-    
-    AliESDtrack *track = fESD->GetTrack(i);
-    const AliExternalTrackParam *paramOut = track->GetOuterParam();
-    const AliExternalTrackParam *paramIn = track->GetInnerParam();
-
-    fParIn->Fill(!!paramIn);
-    if (!paramIn) continue;
-    fXIn->Fill(paramIn->GetX());
-
-    fParOut->Fill(!!paramOut);
-    if (!paramOut) continue;
-    fXOut->Fill(paramOut->GetX());
-    int sector = GetSector(paramOut->GetAlpha());
-    if (!CheckSector(sector)) continue;
-    fSectorTRD->Fill(sector);
-
-    fKinkIndex->Fill(track->GetKinkIndex(0));
-    if (track->GetKinkIndex(0)) continue;    
-
-    UInt_t u = 1;
-    UInt_t status = track->GetStatus();
-    for(int bit=0; bit<32; bit++) 
-      if (u<<bit & status) fTrackStatus->Fill(bit);
-
-    const int knbits = 6; 
-    int bit[6] = {0,0,0,0,0,0};    
-    bit[0] = status & AliESDtrack::kTPCin;
-    bit[1] = status & AliESDtrack::kTPCout;
-    bit[2] = (status & AliESDtrack::kTPCout) && !(status & AliESDtrack::kTRDout);
-    bit[3] = status & AliESDtrack::kTRDout;
-    bit[4] = status & AliESDtrack::kTRDrefit;
-    bit[5] = (status & AliESDtrack::kTRDout) && !(status & AliESDtrack::kTRDrefit);
-
-    
-    // transverse momentum
-    const double *val = track->GetParameter(); // parameters at the vertex
-    double pt = 1./TMath::Abs(val[4]);
-
-    for(int b=0; b<knbits; b++) {
-      if (bit[b]) {
-       fPt[b]->Fill(pt); 
-       fTheta[b]->Fill(val[3]);
-       fSigmaY[b]->Fill(TMath::Sqrt(paramOut->GetSigmaY2()));
-       fChi2[b]->Fill(track->GetTRDchi2()/track->GetTRDncls());    
-       fPlaneYZ[b]->Fill(paramOut->GetY(), paramOut->GetZ()); 
-      }
-    }
-
-    // sectors
-    if (bit[1]) {
-      fAlpha[0]->Fill(paramIn->GetAlpha());
-      fAlpha[1]->Fill(paramOut->GetAlpha());
-    }
-    
-    if (bit[3]) fAlpha[2]->Fill(paramOut->GetAlpha());
-    if (bit[4]) fAlpha[3]->Fill(paramOut->GetAlpha());
-
-    // clusters
-    for(int b=0; b<3; b++) 
-      if (bit[3+b]) fClustersTRD[b]->Fill(track->GetTRDncls());
-
-    // refitted only
-    if (!bit[4]) continue;
-
-    fQuality->Fill(track->GetTRDQuality());
-    fBudget->Fill(track->GetTRDBudget());
-    fSignal->Fill(track->GetTRDsignal());
-       
-    fTrdSigMom->Fill(track->GetP(), track->GetTRDsignal());
-    fTpcSigMom->Fill(track->GetP(), track->GetTPCsignal());
-
-    // PID only
-    if (status & AliESDtrack::kTRDpid) {
-      
-      for(int l=0; l<6; l++) fTime->Fill(track->GetTRDTimBin(l));
-
-      // fill pid histograms
-      double trdr0 = 0, tpcr0 = 0;
-      int trdBestPid = 5, tpcBestPid = 5;  // charged
-      const double kminPidValue =  0.9;
-
-      double pp[5];
-      track->GetTPCpid(pp); // ESD inconsequence
-
-      for(int pid=0; pid<5; pid++) {
-       
-       trdr0 += track->GetTRDpid(pid);
-       tpcr0 += pp[pid];
-       
-       fTrdPID[pid]->Fill(track->GetTRDpid(pid));
-       fTpcPID[pid]->Fill(pp[pid]);
-       
-       if (track->GetTRDpid(pid) > kminPidValue) trdBestPid = pid;
-       if (pp[pid] > kminPidValue) tpcBestPid = pid;
-      }
-      
-      fTrdPID[5]->Fill(trdr0); // check unitarity
-      fTrdSigMomPID[trdBestPid]->Fill(track->GetP(), track->GetTRDsignal());
-      
-      fTpcPID[5]->Fill(tpcr0); // check unitarity
-      fTpcSigMomPID[tpcBestPid]->Fill(track->GetP(), track->GetTPCsignal());
-    }
-    
-  }
-
-  CalculateEff();
-  PostData(0, fOutputContainer);
-}
-
-//______________________________________________________________________________
-void AliTRDQATask::Terminate(Option_t *)
-{
-  // Processing when the event loop is ended
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  int counter = 0;
-  fNTracks     = (TH1D*)fOutputContainer->At(counter++);
-  fEventSize   = (TH1D*)fOutputContainer->At(counter++);
-  fTrackStatus = (TH1D*)fOutputContainer->At(counter++);
-  fKinkIndex   = (TH1D*)fOutputContainer->At(counter++);
-  fParIn       = (TH1D*)fOutputContainer->At(counter++);
-  fParOut      = (TH1D*)fOutputContainer->At(counter++);
-  fXIn         = (TH1D*)fOutputContainer->At(counter++);
-  fXOut        = (TH1D*)fOutputContainer->At(counter++);
-  fAlpha[0]    = (TH1D*)fOutputContainer->At(counter++);
-  fAlpha[1]    = (TH1D*)fOutputContainer->At(counter++);
-  fAlpha[2]    = (TH1D*)fOutputContainer->At(counter++);
-  fAlpha[3]    = (TH1D*)fOutputContainer->At(counter++);
-
-  fSectorTRD   = (TH1D*)fOutputContainer->At(counter++);
-  const int knbits = 6;
-  for(int i=0; i<knbits; i++) {
-     fPt[i]      = (TH1D*)fOutputContainer->At(counter++);
-     fTheta[i]   = (TH1D*)fOutputContainer->At(counter++);
-     fSigmaY[i]  = (TH1D*)fOutputContainer->At(counter++);
-     fChi2[i]    = (TH1D*)fOutputContainer->At(counter++);
-     fPlaneYZ[i] = (TH2D*)fOutputContainer->At(counter++);
-  }   
-  fEffPt[0] = (TH1D*)fOutputContainer->At(counter++);
-  fEffPt[1] = (TH1D*)fOutputContainer->At(counter++);
-  fEffPt[2] = (TH1D*)fOutputContainer->At(counter++);
-  fEffPt[3] = (TH1D*)fOutputContainer->At(counter++);
-
-  fClustersTRD[0] = (TH1D*)fOutputContainer->At(counter++);
-  fClustersTRD[1] = (TH1D*)fOutputContainer->At(counter++);
-  fClustersTRD[2] = (TH1D*)fOutputContainer->At(counter++);
-  fTime      = (TH1D*)fOutputContainer->At(counter++);
-  fBudget    = (TH1D*)fOutputContainer->At(counter++);
-  fQuality   = (TH1D*)fOutputContainer->At(counter++);
-  fSignal    = (TH1D*)fOutputContainer->At(counter++);
-  fTrdSigMom = (TH2D*)fOutputContainer->At(counter++);
-  fTpcSigMom = (TH2D*)fOutputContainer->At(counter++);
-  for(int i=0; i<6; i++) {
-     fTpcPID[i]       = (TH1D*)fOutputContainer->At(counter++);
-     fTpcSigMomPID[i] = (TH2D*)fOutputContainer->At(counter++);
-     fTrdPID[i]       = (TH1D*)fOutputContainer->At(counter++);
-     fTrdSigMomPID[i] = (TH2D*)fOutputContainer->At(counter++);
-  }
-
-  // create efficiency histograms
-  Bool_t problem = kFALSE ; 
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-  
-  CalculateEff();
-
-  DrawESD() ; 
-  DrawGeoESD() ; 
-  //DrawConvESD() ; 
-  DrawPidESD() ; 
-
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  
-  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())) ; 
-
-}
-
-//______________________________________________________________________________
-int AliTRDQATask::GetSector(const double alpha) const
-{
-  // Gets the sector number 
-
-  double size = TMath::DegToRad() * 20.;
-  int sector = (int)((alpha + TMath::Pi())/size);
-  return sector;
-}
-
-//______________________________________________________________________________
-int AliTRDQATask::CheckSector(const int sector) const  
-{  
-  // Checks the sector number
-  const int knSec = 8;
-  int sec[] = {2,3,5,6,11,12,13,15};
-  
-  for(int i=0; i<knSec; i++) 
-    if (sector == sec[i]) return 1;
-  
-  return 0;
-}
-
-//______________________________________________________________________________
-void AliTRDQATask::CalculateEff() 
-{
-  // calculates the efficiency
-  
-  for(int i=0; i<4; i++) fEffPt[i]->Reset();
-  
-  fEffPt[0]->Add(fPt[1]);
-  fEffPt[0]->Divide(fPt[0]);
-  
-  fEffPt[1]->Add(fPt[3]);
-  fEffPt[1]->Divide(fPt[1]);
-  
-  fEffPt[2]->Add(fPt[4]);
-  fEffPt[2]->Divide(fPt[3]);
-  
-  fEffPt[3]->Add(fPt[4]);
-  fEffPt[3]->Divide(fPt[1]);
-}
-
-//______________________________________________________________________________
-void AliTRDQATask::DrawESD() const 
-{
-  // Makes a few plots
-
-  TCanvas * cTRD = new TCanvas("cTRD", "TRD ESD Test", 400, 10, 600, 700) ;
-  cTRD->Divide(6,3) ;
-
-  gROOT->SetStyle("Plain");
-  gStyle->SetPalette(1);
-  gStyle->SetOptStat(0);
-  
-  TGaxis::SetMaxDigits(3);
-  
-  gStyle->SetLabelFont(52, "XYZ");
-  gStyle->SetTitleFont(62, "XYZ");
-  gStyle->SetPadRightMargin(0.02);
-
-  // draw all 
-  
-  const int knplots = 18;
-  const int knover[knplots] = {1,1,1,4,1,1,1,1,1,1,2,1,1,3,1,1,1,1};
-  const int knnames = 24;
-  const char *names[knnames] = {
-    "ntracks", "kinkIndex", "trackStatus", 
-    "ptTPCi", "ptTPCo", "ptTRDo", "ptTRDr",  "ptTPCz", "ptTRDz",
-    "eff_TPCi_TPCo",  "eff_TPCo_TRDo", "eff_TRDo_TRDr",  "eff_TPCo_TRDr",
-    "clsTRDo", "clsTRDr", "clsTRDz", 
-    "alphaTPCi", "alphaTPCo", "alphaTRDo", "alphaTRDr", "sectorTRD",
-    "time", "budget", "signal"
-  };
-  
-  const int klogy[knnames] = {
-    1,1,1,
-    1,1,1,
-    0,0,0,0,
-    1,1,
-    0,0,0,0,0,
-    0,1,1
-  };
-
-  int nhist=0;
-  for(int i=0; i<knplots; i++) {
-  cTRD->cd(i+1) ;
-  
-  //  new TCanvas(names[i], names[nhist], 500, 300);
-      
-    for(int j=0; j<knover[i]; j++) {
-      TH1D *hist = dynamic_cast<TH1D*>(gDirectory->FindObject(names[nhist++]));
-      if (!hist) continue;
-      if (hist->GetMaximum() > 0 ) 
-       gPad->SetLogy(klogy[i]);
-      if (strstr(hist->GetName(), "eff")) {
-       hist->SetMarkerStyle(20);
-       hist->SetMinimum(0);
-       hist->SetMaximum(1.2);
-      }
-
-      if (!j) hist->Draw();
-      else hist->Draw("SAME");
-    }
-  }
-  cTRD->Print("TRD_ESD.eps");
-}
-
-//______________________________________________________________________________
-void AliTRDQATask::DrawGeoESD() const
-{
-  // Makes a few plots
-
-  TCanvas * cTRDGeo = new TCanvas("cTRDGeo", "TRD ESDGeo Test", 400, 10, 600, 700) ;
-  cTRDGeo->Divide(4,2) ;
-
-  gStyle->SetOptStat(0);
-  TGaxis::SetMaxDigits(3);
-  
-  gStyle->SetLabelFont(52, "XYZ");
-  gStyle->SetTitleFont(62, "XYZ");
-  
-  gStyle->SetPadTopMargin(0.06);
-  gStyle->SetTitleBorderSize(0);
-  
-  // draw all   
-  const int knnames = 7;
-  const char *names[knnames] = {
-    "xIn", "xOut",
-    "planeYZTPCo", "planeYZTPCz", "planeYZTRDo", "planeYZTRDr", "planeYZTRDz",
-  };
-  
-  const char *opt[knnames] = {
-    "", "",
-    "colz","colz", "colz", "colz", "colz"
-  };
-  
-  const int klogy[knnames] = {
-    1,1,
-    0,0,0,0,0
-  };
-  
-  for(int i=0; i<knnames; i++) {
-  cTRDGeo->cd(i+1) ;
-    TH1D *hist = dynamic_cast<TH1D*>(gDirectory->FindObject(names[i]));
-    if (!hist) continue;
-    
-    //if (i<2) new TCanvas(names[i], names[i], 500, 300);
-    //else new TCanvas(names[i], names[i], 300, 900);
-   
-    if (hist->GetMaximum() > 0 ) 
-      gPad->SetLogy(klogy[i]);
-    if (strstr(opt[i],"colz")) gPad->SetRightMargin(0.1);
-    
-    hist->Draw(opt[i]);    
-    AliInfo(Form("%s\t%f", names[i], hist->GetEntries()));
-  }
-  
-  cTRDGeo->Print("TRD_Geo.eps");
-}
-
-//______________________________________________________________________________
-void AliTRDQATask::DrawConvESD() const
-{
-  // Makes a few plots
-
-  AliInfo("Plotting....") ; 
-  TCanvas * cTRDConv = new TCanvas("cTRDConv", "TRD ESDConv Test", 400, 10, 600, 700) ;
-  cTRDConv->Divide(3,2) ;
-
-  gROOT->SetStyle("Plain");
-  gROOT->ForceStyle();
-  gStyle->SetPalette(1);
-  
-  TGaxis::SetMaxDigits(3);
-  
-  gStyle->SetLabelFont(52, "XYZ");
-  gStyle->SetTitleFont(62, "XYZ");
-  gStyle->SetPadRightMargin(0.02);
-
-  const int knnames = 9;
-  const int knplots = 5;
-  const int knover[knplots] = {3,1,1,3,1}; 
-  
-  const char *names[knnames] = {
-    "sigmaYTPCo","sigmaYTRDo", "sigmaYTRDr", "sigmaYTPCz", "sigmaYTRDz",
-    "Chi2TPCo", "Chi2TRDo", "Chi2TRDr", "Chi2TRDz"
-  };
-  
-  const char *opt[knplots] = {
-    "", "", "","","",
-  };
-  
-  const int klogy[knplots] = {
-    0,0,0,1,1
-  };
-
-  int nhist = 0;
-  for(int i=0; i<knplots; i++) {
-    cTRDConv->cd(i+1) ;
-    //new TCanvas(names[i], names[i], 500, 300);
-    if (strstr(opt[i],"colz")) gPad->SetRightMargin(0.1);
-   
-    for(int j=0; j<knover[i]; j++) {
-      TH1D *hist = dynamic_cast<TH1D*>(gDirectory->FindObject(names[nhist++]));
-      if ( hist->GetMaximum() > 0 ) 
-       gPad->SetLogy(klogy[i]);
-      if (!j) hist->Draw(opt[i]);
-      else hist->Draw("same");
-    }
-
-  }
-    cTRDConv->Print("TRD_Conv.eps");
-}
-
-//______________________________________________________________________________
-void AliTRDQATask::DrawPidESD() const
-{
-  // Makes a few plots
-
-  TCanvas * cTRDPid = new TCanvas("cTRDPid", "TRD ESDPid Test", 400, 10, 600, 700) ;
-  cTRDPid->Divide(9,3) ;
-
-  gROOT->SetStyle("Plain");
-  gROOT->ForceStyle();
-  gStyle->SetPalette(1);
-  gStyle->SetOptStat(0);
-  
-  TGaxis::SetMaxDigits(3);
-  
-  gStyle->SetLabelFont(52, "XYZ");
-  gStyle->SetTitleFont(62, "XYZ");
-
-  gStyle->SetPadTopMargin(0.05);
-  gStyle->SetPadRightMargin(0.02);
-
-  // draw all 
-  const int knnames = 27;
-  const char *names[knnames] = {
-
-    "signal", "trdSigMom", "tpcSigMom",
-
-    "trdPidEl", "trdPidMu", "trdPidPi", "trdPidK", "trdPidP", "trdPidCh",
-    "trdSigMomEl", "trdSigMomMu", "trdSigMomPi", "trdSigMomK", "trdSigMomP", "trdSigMomCh",
-    
-    "tpcPidEl", "tpcPidMu", "tpcPidPi", "tpcPidK", "tpcPidP", "tpcPidCh",
-    "tpcSigMomEl", "tpcSigMomMu", "tpcSigMomPi", "tpcSigMomK", "tpcSigMomP", "tpcSigMomCh"
-
-  };
-  
-  const char *opt[knnames] = {
-
-    "", "colz", "colz",
-
-    "", "", "", "", "", "" ,
-    "colz", "colz", "colz", "colz", "colz", "colz",
-
-    "", "", "", "", "", "" ,
-    "colz", "colz", "colz", "colz", "colz", "colz" 
-  };
-  
-  const int klogy[knnames] = {
-
-    0,0,0,
-
-    1,1,1,1,1,1,
-    0,0,0,0,0,0,
-
-    1,1,1,1,1,1,
-    0,0,0,0,0,0    
-  };
-
-  for(int i=0; i<knnames; i++) {
-    cTRDPid->cd(i+1) ;
-
-    TH1D *hist = dynamic_cast<TH1D*>(gDirectory->FindObject(names[i]));
-    if (!hist) continue;
-    
-    //new TCanvas(names[i], names[i], 500, 300);
-    if ( hist->GetMaximum() > 0  ) 
-      gPad->SetLogy(klogy[i]);
-    if (strstr(opt[i],"colz")) gPad->SetRightMargin(0.1);
-    
-    if (strstr(names[i],"sigMom")) gPad->SetLogz(1);
-    if (strstr(names[i],"SigMom")) gPad->SetLogz(1);
-
-    hist->Draw(opt[i]);    
-    AliInfo(Form("%s\t%f", names[i], hist->GetEntries()));
-  }
-   cTRDPid->Print("TRD_Pid.eps");
-}
diff --git a/ESDCheck/AliTRDQATask.h b/ESDCheck/AliTRDQATask.h
deleted file mode 100644 (file)
index 5d83be3..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef ALITRDQATASK_H
-#define ALITRDQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//______________________________________________________________________________
-// An analysis task to check the TRD data in simulated data
-// Starting from ESD
-// Producing Histograms and plots
-// Part of an analysis Train
-//*-- Sylwester Radomski
-//////////////////////////////////////////////////////////////////////////////
-
-#include "AliAnalysisTask.h"  
-
-class TTree; 
-class AliESD; 
-class TH1D; 
-class TH2D;
-
-class AliTRDQATask : public AliAnalysisTask {
-
-public:
-  AliTRDQATask(const char *name);
-  virtual ~AliTRDQATask() {}
-   
-  virtual void Exec(Option_t * opt = "");
-  virtual void ConnectInputData(Option_t *);
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "");
-
-private:
-
-  int  GetSector(const double alpha) const;
-  int  CheckSector(const int sector) const;
-  void CalculateEff();
-  void DrawESD() const ; 
-  void DrawGeoESD() const ; 
-  void DrawConvESD() const  ; 
-  void DrawPidESD() const ; 
-
-  TTree   * fChain;             //!pointer to the analyzed TTree or TChain
-  AliESD  * fESD;               //! Declaration of leave types
-
-  TObjArray * fOutputContainer; //! output data container
-
-  // options
-  int fConfSM; //!Super Module Configuration
-  
-  // Histograms
-  TH1D *fNTracks;     // Number of tracks
-  TH1D *fEventSize;   // Event size
-  TH1D *fTrackStatus; // Status of tracks
-
-  TH1D *fParIn;       // Par In
-  TH1D *fParOut;      // Par out
-  TH1D *fKinkIndex;   // Kink Index
-   
-  // TPC clusters histograms
-  //TH1D *fTpcNCls;
-  //TH1D *fTpcFCls;
-  //TH1D *fTpcRCls; 
-  
-  // last measurement X plane
-  TH1D *fXIn;        // input Xplane
-  TH1D *fXOut;       // output Xplane
-  
-  // sector
-  TH1D *fAlpha[4];   // alpha sectors
-  TH1D *fSectorTRD;  // TRD sectors
-  //static const int knbits = 5;
-  
-  // track parameters
-  TH1D *fPt[6];      // Transverse momentum
-  TH1D *fTheta[6];   // Theta distribution
-  TH1D *fSigmaY[6];  // Sigma Y
-  TH1D *fChi2[6];    // Chi 2
-  TH2D *fPlaneYZ[6]; // YZ Plane
-
-  TH1D *fEffPt[4];   // Eff transverse momentum
-
-  // track features
-  TH1D *fClustersTRD[3]; // Clusters
-
-  // for good refitted tracks only
-  TH1D *fTime;           // time
-  TH1D *fBudget;         // Budget
-  TH1D *fQuality;        // Quality
-  TH1D *fSignal;         // Signal 
-
-  // PID for TPC and TRD  
-  TH2D *fTrdSigMom;      // Sig TRD
-  TH2D *fTpcSigMom;      // Sig TPC
-  
-  TH1D *fTrdPID[6];      // Pid TRD
-  TH2D *fTrdSigMomPID[6];// Pid TRD
-  
-  TH1D *fTpcPID[6];      // Pid TPC
-  TH2D *fTpcSigMomPID[6];// Pid TPC
-      
-  AliTRDQATask(const AliTRDQATask&); // Not implemented
-  AliTRDQATask& operator=(const AliTRDQATask&); // Not implemented
-  
-  ClassDef(AliTRDQATask, 0); // a TRD analysis task 
-};
-#endif // ALITRDQATASK_H
diff --git a/ESDCheck/AliVZEROQATask.cxx b/ESDCheck/AliVZEROQATask.cxx
deleted file mode 100644 (file)
index dedde0e..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- *                                                                              *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/* $Id$ */
-//
-// An analysis task to check the ESD VZERO data in simulated data
-// An analysis task to check the ESD VZERO data in simulated data
-// An analysis task to check the ESD VZERO data in simulated data
-// An analysis task to check the ESD VZERO data in simulated data
-// An analysis task to check the ESD VZERO data in simulated data
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#include <TROOT.h>
-#include <TChain.h>
-#include <TH1.h>
-#include <TCanvas.h>
-#include <TFile.h> 
-#include <TString.h> 
-
-#include "AliVZEROQATask.h" 
-#include "AliESD.h" 
-#include "AliESDVZERO.h"
-#include "AliLog.h"
-
-//______________________________________________________________________________
-AliVZEROQATask::AliVZEROQATask(const char *name) : 
-  AliAnalysisTask(name,""),  
-  fChain(0),
-  fESD(0),
-  fOutputContainer(0), 
-  fhVZERONbPMA(0),
-  fhVZERONbPMC(0),
-  fhVZEROMultA(0),
-  fhVZEROMultC(0)
-     
-{
-  // Constructor.
-  // Input slot #0 works with an Ntuple
-  DefineInput(0, TChain::Class());
-  // Output slot #0 writes into a TH1 container
-  DefineOutput(0,  TObjArray::Class()) ; 
-}
-
-AliVZEROQATask::AliVZEROQATask(const AliVZEROQATask& ta) : 
-AliAnalysisTask(ta.GetName(),""),  
-fChain(ta.fChain),
-fESD(ta.fESD),
-fOutputContainer(ta.fOutputContainer), 
-fhVZERONbPMA(ta.fhVZERONbPMA),
-fhVZERONbPMC(ta.fhVZERONbPMC),
-fhVZEROMultA(ta.fhVZEROMultA),
-fhVZEROMultC(ta.fhVZEROMultC)
-
-{
-       // copy constructor
-}
-
-//_____________________________________________________________________________
-AliVZEROQATask& AliVZEROQATask::operator = (const AliVZEROQATask& ap)
-{
-       // assignment operator
-       
-       this->~AliVZEROQATask();
-       new(this) AliVZEROQATask(ap);
-       return *this;
-}
-
-//______________________________________________________________________________
-AliVZEROQATask::~AliVZEROQATask()
-{
-  // dtor
-  
-  fOutputContainer->Clear(); 
-  delete fOutputContainer; 
-  
-  delete fhVZERONbPMA;
-  delete fhVZERONbPMC; 
-  delete fhVZEROMultA;
-  delete fhVZEROMultC;
-}
-
-//______________________________________________________________________________
-void AliVZEROQATask::ConnectInputData(const Option_t*)
-{
-  // Initialises branch container and histograms 
-    
-  AliInfo(Form("*** Initialization of %s", GetName())) ; 
-  
-  // Gets input data
-  fChain = dynamic_cast<TChain *>(GetInputData(0)) ;
-  if (!fChain) {
-    AliError(Form("Input 0 for %s not found\n", GetName()));
-    return ;
-  }
-  
-  // One should first check if the branch address was taken by some other task
-  char ** address = (char **)GetBranchAddress(0, "ESD");
-  if (address) {
-    fESD = (AliESD*)(*address);
-  } else {
-    fESD = new AliESD();
-    SetBranchAddress(0, "ESD", &fESD);
-  }
-}
-
-//________________________________________________________________________
-void AliVZEROQATask::CreateOutputObjects()
-{  
-  // Creates histograms 
-     
-  OpenFile(0) ; 
-
-  fhVZERONbPMA  = new TH1I("Nb of fired PMs in V0A", "VZERONbPMA" ,100 ,0 ,99);
-  fhVZERONbPMC  = new TH1I("Nb of fired PMs in V0C", "VZERONbPMC" ,100 ,0 ,99);
-  fhVZEROMultA  = new TH1I("Multiplicity in V0A", "VZEROMultA" ,50 ,0 ,49);
-  fhVZEROMultC  = new TH1I("Multiplicity in V0C", "VZEROMultC" ,50 ,0 ,49);
-  
-  // Creates output container
-  
-  fOutputContainer = new TObjArray(4); 
-  fOutputContainer->SetName(GetName()) ; 
-  fOutputContainer->AddAt(fhVZERONbPMA, 0); 
-  fOutputContainer->AddAt(fhVZERONbPMC, 1); 
-  fOutputContainer->AddAt(fhVZEROMultA, 2); 
-  fOutputContainer->AddAt(fhVZEROMultC, 3); 
-   
-}
-
-//______________________________________________________________________________
-void AliVZEROQATask::Exec(Option_t *) 
-{
-  // Processing of one event
-  Long64_t entry = fChain->GetReadEntry() ;
-
-  if (!fESD) {
-    AliError("fESD is not connected to the input!") ; 
-    return ; 
-  }
-  
-  if ( !((entry-1)%100) ) 
-    AliInfo(Form("%s ----> Processing event # %lld",  (dynamic_cast<TChain *>(fChain))->GetFile()->GetName(), entry)) ; 
-  AliESDVZERO *esdVZERO=fESD->GetVZEROData();
-   
-  if (esdVZERO) { 
-    fhVZERONbPMA->Fill(esdVZERO->GetNbPMV0A());
-    fhVZERONbPMC->Fill(esdVZERO->GetNbPMV0C());  
-    fhVZEROMultA->Fill(esdVZERO->GetMTotV0A());
-    fhVZEROMultC->Fill(esdVZERO->GetMTotV0C());  
-  }
-  PostData(0, fOutputContainer);
-  
-}
-
-//______________________________________________________________________________
-void AliVZEROQATask::Terminate(Option_t *)
-{
-  // Processed when the event loop is ended
-  
-  fOutputContainer = (TObjArray*)GetOutputData(0);
-  fhVZERONbPMA     = (TH1I*)fOutputContainer->At(0);
-  fhVZERONbPMC     = (TH1I*)fOutputContainer->At(1);
-  fhVZEROMultA     = (TH1I*)fOutputContainer->At(2);
-  fhVZEROMultC     = (TH1I*)fOutputContainer->At(3);
-  
-  Bool_t problem = kFALSE ; 
-  AliInfo(Form(" *** %s Report:", GetName())) ; 
-  printf("        V0A Multiplicity Mean : %5.3f , RMS : %5.3f \n",fhVZEROMultA->GetMean(),fhVZEROMultA->GetRMS());
-  printf("        V0C Multiplicity Mean : %5.3f , RMS : %5.3f \n",fhVZEROMultC->GetMean(),fhVZEROMultC->GetRMS());
-
-  TCanvas  * c1 = new TCanvas("Number of PMs fired in V0A", "Number of PMs fired in V0A", 1);
-  fhVZERONbPMA->SetAxisRange(0, 99);
-  fhVZERONbPMA->SetLineColor(2);
-  fhVZERONbPMA->Draw("SAME");
-  c1->Update();
-  TCanvas  * c2 = new TCanvas("Number of PMs fired in V0C", "Number of PMs fired in V0C", 1);
-  fhVZERONbPMC->SetAxisRange(0,99);
-  fhVZERONbPMC->SetLineColor(2);
-  fhVZERONbPMC->Draw("SAME");
-  c2->Update();
-
-  TCanvas  * c3 = new TCanvas("Multiplicity in V0A", "Multiplicity in V0A", 1);
-  fhVZEROMultA->SetAxisRange(0, 49);
-  fhVZEROMultA->SetLineColor(2);
-  fhVZEROMultA->Draw("SAME");
-  c3->Update();
-  TCanvas  * c4 = new TCanvas("Multiplicity in V0C", "Multiplicity in V0C", 1);
-  fhVZEROMultC->SetAxisRange(0,49);
-  fhVZEROMultC->SetLineColor(2);
-  fhVZEROMultC->Draw("SAME");
-  c4->Update();
-
-  c1->Print("V0AMultiplicity.eps");
-  c2->Print("V0CMultiplicity.eps");
-  c3->Print("NumberV0APMs.eps");
-  c4->Print("NumberV0CPMs.eps");
-  
-  char line[1024] ; 
-  sprintf(line, ".!tar -zcf %s.tar.gz *.eps", GetName()) ; 
-  gROOT->ProcessLine(line);
-  sprintf(line, ".!rm -fR *.eps"); 
-  gROOT->ProcessLine(line);
-  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())) ; 
-  
-}
diff --git a/ESDCheck/AliVZEROQATask.h b/ESDCheck/AliVZEROQATask.h
deleted file mode 100644 (file)
index dee76bd..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef ALIVZEROQATASK_H
-#define ALIVZEROQATASK_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice     */
-//___________________________________________________________________________
-//
-//   An analysis task to check the VZERO data in simulated data
-//   An analysis task to check the VZERO data in simulated data
-//   An analysis task to check the VZERO data in simulated data
-//   An analysis task to check the VZERO data in simulated data
-//
-//___________________________________________________________________________
-
-#include "AliAnalysisTask.h" 
-
-class AliESD; 
-class TH1I; 
-class TTree ; 
-
-class AliVZEROQATask : public AliAnalysisTask {
-
-public:
-  AliVZEROQATask(const char *name);
-  AliVZEROQATask(const AliVZEROQATask& ta) ;  
-  virtual  ~AliVZEROQATask();
-  AliVZEROQATask& operator = (const AliVZEROQATask& ap) ; 
-
-  virtual void Exec(Option_t * opt = "");
-  virtual void ConnectInputData(Option_t *); 
-  virtual void CreateOutputObjects();
-  virtual void Terminate(Option_t * opt = "");
-
-private:
-  
-  TTree   * fChain;             //! pointer to the analyzed TTree or TChain
-  AliESD  * fESD;               //! declaration of leave types
-
-  TObjArray * fOutputContainer; //! output data container
-
-// Histograms
-
-  TH1I    * fhVZERONbPMA;       //! histo of V0A PMs
-  TH1I    * fhVZERONbPMC;       //! histo of V0C PMs
-  TH1I    * fhVZEROMultA;       //! histo of multiplicity in V0A 
-  TH1I    * fhVZEROMultC;       //! histo of multiplicity in V0C
-  
-   
-  ClassDef(AliVZEROQATask, 0); // a VZERO analysis task 
-};
-#endif // ALIVZEROQATASK_H
diff --git a/ESDCheck/AnalysisCheckLinkDef.h b/ESDCheck/AnalysisCheckLinkDef.h
deleted file mode 100644 (file)
index 47c000b..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifdef __CINT__
-#pragma link off all globals;
-#pragma link off all classes;
-#pragma link off all functions;
-
-#pragma link C++ class AliPHOSQATask+;
-
-#pragma link C++ class AliEMCALQATask+;
-
-#pragma link C++ class AliPMDQATask+;
-
-#pragma link C++ class AliAnalysisTaskPt+;
-
-#pragma link C++ class AliHMPIDQATask+;
-
-#pragma link C++ class AliT0QATask+;
-
-#pragma link C++ class AliMUONQATask+;
-
-#pragma link C++ class AliFMDQATask+;
-
-#pragma link C++ class AliTRDQATask+;
-
-#pragma link C++ class AliVZEROQATask+;
-
-#pragma link C++ class AliTOFQATask+;
-
-#endif
diff --git a/ESDCheck/CMakelibAnalysisCheck.pkg b/ESDCheck/CMakelibAnalysisCheck.pkg
deleted file mode 100644 (file)
index c9891c7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#--------------------------------------------------------------------------------#
-# Package File for AnalysisCheck                                                 #
-# Author : Johny Jose (johny.jose@cern.ch)                                       #
-# Variables Defined :                                                            #
-#                                                                                #
-# SRCS - C++ source files                                                        #
-# HDRS - C++ header files                                                        #
-# DHDR - ROOT Dictionary Linkdef header file                                     #
-# CSRCS - C source files                                                         #
-# CHDRS - C header files                                                         #
-# EINCLUDE - Include directories                                                 #
-# EDEFINE - Compiler definitions                                                 #
-# ELIBS - Extra libraries to link                                                #
-# ELIBSDIR - Extra library directories                                           #
-# PACKFFLAGS - Fortran compiler flags for package                                #
-# PACKCXXFLAGS - C++ compiler flags for package                                  #
-# PACKCFLAGS - C compiler flags for package                                      #
-# PACKSOFLAGS - Shared library linking flags                                     #
-# PACKLDFLAGS - Module linker flags                                              #
-# PACKBLIBS - Libraries to link (Executables only)                               #
-# EXPORT - Header files to be exported                                           #
-# CINTHDRS - Dictionary header files                                             #
-# CINTAUTOLINK - Set automatic dictionary generation                             #
-# ARLIBS - Archive Libraries and objects for linking (Executables only)          #
-# SHLIBS - Shared Libraries and objects for linking (Executables only)           #
-#--------------------------------------------------------------------------------#
-
-set ( SRCS  AliPHOSQATask.cxx AliEMCALQATask.cxx AliPMDQATask.cxx AliAnalysisTaskPt.cxx AliHMPIDQATask.cxx AliT0QATask.cxx AliMUONQATask.cxx AliFMDQATask.cxx AliTRDQATask.cxx AliTOFQATask.cxx AliVZEROQATask.cxx)
-
-string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
-
-set ( DHDR  AnalysisCheckLinkDef.h)
-
-string ( REPLACE ".cxx" ".h" EXPORT "${SRCS}" )
-
-set ( EINCLUDE PMD ANALYSIS)
-
-if( ALICE_TARGET STREQUAL "win32gcc")
-       
-                       set ( PACKSOFLAGS  ${SOFLAGS} -L${ALICE_ROOT}/lib/tgt_${ALICE_TARGET} -lSTEERBase -lESD -lANALYSIS -L${ROOTLIBDIR} -lSpectrum)
-
-endif( ALICE_TARGET STREQUAL "win32gcc")
diff --git a/ESDCheck/CheckESD.sh b/ESDCheck/CheckESD.sh
deleted file mode 100755 (executable)
index 986d1d8..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/bash
-currentDir=`pwd`
-PACKAGES="ESD ANALYSIS AnalysisCheck"
-DETECTORS="PHOS EMCal PMD HMPID T0 MUON TOF VZERO"
-LOGFILE=`echo $0 | sed -e 's/sh/log/'`
-function testpack()
-{
- test=`cat CheckESD.log | grep "$2 done"` 
- if [ "$test" = "" ]; then 
-    echo --ERROR $1 $2
-    rv=1 
- else 
-    echo ++OK $1 $2
-    rv=0 
- fi
- return $rv
-}
-function testdet()
-{
- test=`cat CheckESD.log | grep "$2 Summary Report: OK"`
- if [ "$test" = "" ]; then
-    echo --ERROR $1 $2 
-    rv=1
- else 
-    echo ++OK $1 $2
-    rv=0
- fi
- return $rv
-}
-#Start
-if [ -e $LOGFILE ]; then
- rm $LOGFILE
-fi
-echo $0 LOG > $LOGFILE
-# make the par files
-cd $ALICE_ROOT
-for pack in $PACKAGES; do
- make $pack.par            >> $currentDir/$LOGFILE
-done
-# copy the par file to the working directory
-cd $currentDir
-for pack in $PACKAGES; do
- rm -fr $pack* 
- mv $ALICE_ROOT/$pack.par .
-done
-cp $ALICE_ROOT/ESDCheck/ana.C .
-# run root
-if [ ! -e "AliESDs.root" ]; then 
- echo File AliESDs.root not found >> $LOGFILE
- exit 1 
-fi
-root -b -q ana.C >> $LOGFILE 2>&1
-#test function for parsing log file
-# parse the log file
-error=0
-for pack in $PACKAGES; do
- testpack creating $pack.par  
- testpack loading lib$pack 
- let "error +=$?"
-done
-
-for det in $DETECTORS; do
- testdet Checking $det
- let "error +=$?"
-done 
-if [ "$error" > "0" ]; then 
- echo --------------- $error errors signaled 
-else 
- echo +++++++++++++++ All OK
-fi 
-exit $error
diff --git a/ESDCheck/Makefile b/ESDCheck/Makefile
deleted file mode 100644 (file)
index a6fe924..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-
-include $(ROOTSYS)/test/Makefile.arch
-
-default-target: libAnalysisCheck.so
-
-ALICEINC      = -I.
-
-### define include dir for local case and par case
-ifneq ($(ANALYSIS_NEW_INCLUDE),)
-  ALICEINC += -I../$(ESD_INCLUDE) -I../$(ANALYSIS_NEW_INCLUDE)
-else
-  ifneq ($(ALICE_ROOT),)
-    ALICEINC += -I$(ALICE_ROOT)/include  -I$(ALICE_ROOT)/PMD  -I$(ALICE_ROOT)/ANALYSIS
-  endif
-endif
-
-# for building of AnalysisCheck.par
-ifneq ($(AnalysisCheck_INCLUDE),)
-  ALICEINC += -I../$(AnalysisCheck_INCLUDE)
-endif
-
-CXXFLAGS     += $(ALICEINC) -g
-
-PACKAGE = AnalysisCheck
-
-DHDR =
-HDRS =
-SRCS =
-FSRCS =
-DHDR_AnalysisCheck := $(DHDR)
-HDRS_AnalysisCheck := $(HDRS)
-SRCS_AnalysisCheck := $(SRCS) G__$(PACKAGE).cxx
-OBJS_AnalysisCheck := $(SRCS_AnalysisCheck:.cxx=.o)
-
-PARFILE       = $(PACKAGE).par
-
-
-lib$(PACKAGE).so: $(OBJS_AnalysisCheck)
-       @echo "Linking" $@ ...
-       @/bin/rm -f $@
-ifeq ($(ARCH),macosx)
-       @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
-else
-       @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
-endif
-       @chmod a+x $@
-       @echo "done"
-
-%.o:    %.cxx %.h
-       $(CXX) $(CXXFLAGS) -c $< -o $@
-
-clean:
-       @rm -f $(OBJS_AnalysisCheck) *.so G__$(PACKAGE).* $(PARFILE)
-
-G__$(PACKAGE).cxx G__$(PACKAGE).h: $(HDRS) $(DHDR)
-       @echo "Generating dictionary ..."
-       rootcint -f $@ -c $(ALICEINC) $^
-
-### CREATE PAR FILE
-
-$(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out G__%, $(HDRS_AnalysisCheck) $(SRCS_AnalysisCheck) $(DHDR_AnalysisCheck) Makefile Makefile.arch lib$(PACKAGE).pkg PROOF-INF))
-       @echo "Creating archive" $@ ...
-       @tar cfzh $@ $(PACKAGE)
-       @rm -rf $(PACKAGE)
-       @echo $@ "done"
-
-$(PACKAGE)/Makefile: Makefile #.$(PACKAGE)
-       @echo Copying $< to $@ with transformations
-       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
-       @sed 's/include \$$(ROOTSYS)\/test\/Makefile.arch/include Makefile.arch/' < $^ > $@
-
-$(PACKAGE)/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
-       @echo Copying $< to $@
-       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
-       @cp -a $^ $@
-
-$(PACKAGE)/PROOF-INF: PROOF-INF.$(PACKAGE)
-       @echo Copying $< to $@
-       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
-       @cp -a -r $^ $@
-
-$(PACKAGE)/%: %
-       @echo Copying $< to $@
-       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
-       @cp -a $< $@
-
-test-%.par: %.par
-       @echo "INFO: The file $< is now tested, in case of an error check in par-tmp."
-       @mkdir -p par-tmp
-       @cd par-tmp; tar xfz ../$<;     cd $(subst .par,,$<); PROOF-INF/BUILD.sh
-       @rm -rf par-tmp
-       @echo "INFO: Testing succeeded (already cleaned up)"
diff --git a/ESDCheck/PROOF-INF.AnalysisCheck/BUILD.sh b/ESDCheck/PROOF-INF.AnalysisCheck/BUILD.sh
deleted file mode 100755 (executable)
index fc9490a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh
-
-make 
diff --git a/ESDCheck/PROOF-INF.AnalysisCheck/SETUP.C b/ESDCheck/PROOF-INF.AnalysisCheck/SETUP.C
deleted file mode 100644 (file)
index 5de0155..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-void SETUP()
-{
-
-   // Load the ESD library
-   gSystem->Load("libPhysics");
-   gSystem->Load("libAnalysisCheck");
-
-   // Set the Include paths
-   gSystem->SetIncludePath("-I$ROOTSYS/include -IAnalysisCheck");
-   gROOT->ProcessLine(".include AnalysisCheck");
-
-   // Set our location, so that other packages can find us
-   gSystem->Setenv("AnalysisCheck_INCLUDE", "AnalysisCheck");
-}
diff --git a/ESDCheck/ana.C b/ESDCheck/ana.C
deleted file mode 100644 (file)
index fe20a19..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-Bool_t gIsAnalysisLoaded = kFALSE ; 
-
-//______________________________________________________________________
-Bool_t LoadLib( const char* pararchivename) 
-{
-  // Loads the AliRoot required libraries from a tar file 
-
-  Bool_t rv = kTRUE ; 
-  char cdir[1024] ; 
-  sprintf(cdir, "%s", gSystem->WorkingDirectory() ) ; 
-  
-  // Setup par File
-  if (pararchivename) {
-   char parpar[80] ; 
-   sprintf(parpar, "%s.par", pararchivename) ;
-   if ( gSystem->AccessPathName(parpar) ) {
-    gSystem->ChangeDirectory(gSystem->Getenv("ALICE_ROOT")) ;
-    char processline[1024];
-    sprintf(processline, ".! make %s", parpar) ; 
-    cout << processline << endl ; 
-    gROOT->ProcessLine(processline) ;
-    gSystem->ChangeDirectory(cdir) ; 
-    sprintf(processline, ".! mv /tmp/%s .", parpar) ;
-    gROOT->ProcessLine(processline) ;  
-    sprintf(processline,".! tar xvzf %s",parpar);
-    gROOT->ProcessLine(processline);
-   }
-   gSystem->ChangeDirectory(pararchivename);
-   
-    // check for BUILD.sh and execute
-    if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
-      printf("*** Building PAR archive  %s  ***\n", pararchivename);
-
-      if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
-       AliError(Form("Cannot Build the PAR Archive %s! - Abort!", pararchivename) );
-        return kFALSE ;
-      }
-    }
-
-    // check for SETUP.C and execute
-    if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
-      printf("*** Setup PAR archive  %s     ***\n", pararchivename);
-      gROOT->Macro("PROOF-INF/SETUP.C");
-    }    
-  }
-
-  if ( strstr(pararchivename, "ESD") ) {
-    //gSystem->Load("libVMC.so");
-    //gSystem->Load("libRAliEn.so");
-    gSystem->Load("libESD.so") ;
-    //gSystem->Load("libProof.so") ;
-  }
-
-  if ( strstr(pararchivename, "AnalysisCheck") ) {
-    gSystem->Load("libSpectrum.so");
-  }
-  
-  printf("lib%s done\n", pararchivename);
-
-  gSystem->ChangeDirectory(cdir);
-
-  gIsAnalysisLoaded = kTRUE ; 
-  return rv ; 
-}
-
-//______________________________________________________________________
-void ana(const Int_t kEvent=100)  
-{ 
-  if (! gIsAnalysisLoaded ) {
-    LoadLib("ESD") ; 
-    LoadLib("AOD") ; 
-    LoadLib("ANALYSIS") ; 
-    LoadLib("AnalysisCheck") ; 
-  }
-  
-  // create the analysis goodies object
-  AliAnalysisGoodies * ag = new AliAnalysisGoodies() ; 
-
-  // definition of analysis tasks
-  AliPHOSQATask * phos  =  new AliPHOSQATask("PHOS") ;
-  AliAnalysisDataContainer * phosIn = ag->ConnectInput(phos, TChain::Class(), 0) ; 
-  ag->ConnectOuput(phos, TObjArray::Class(), 0) ;  
-
-  AliEMCALQATask *emcal = new AliEMCALQATask("EMCal") ;
-  ag->ConnectInput(emcal, phosIn, 0) ; 
-  ag->ConnectOuput(emcal, TObjArray::Class(), 0) ;  
-
-  AliPMDQATask * pmd    = new AliPMDQATask("PMD") ;
-  ag->ConnectInput(pmd, phosIn, 0) ; 
-  ag->ConnectOuput(pmd, TObjArray::Class(), 0) ;  
-
-  AliAnalysisTaskPt * pt = new AliAnalysisTaskPt("Pt") ;
-  ag->ConnectInput(pt, phosIn, 0) ; 
-  ag->ConnectOuput(pt, TObjArray::Class(), 0) ;  
-
-  AliHMPIDQATask * hmpid= new AliHMPIDQATask("HMPID") ;
-  ag->ConnectInput(hmpid, phosIn, 0) ; 
-  ag->ConnectOuput(hmpid, TObjArray::Class(), 0) ;  
-
-  AliT0QATask * t0     = new AliT0QATask("T0") ;
-  ag->ConnectInput(t0, phosIn, 0) ; 
-  ag->ConnectOuput(t0, TObjArray::Class(), 0) ;  
-
-  AliMUONQATask * muon = new AliMUONQATask("MUON") ;
-  ag->ConnectInput(muon, phosIn, 0) ; 
-  ag->ConnectOuput(muon, TObjArray::Class(), 0) ;  
-
-  AliTRDQATask * trd   = new AliTRDQATask("TRD") ;
-  ag->ConnectInput(trd, phosIn, 0) ; 
-  ag->ConnectOuput(trd, TObjArray::Class(), 0) ;  
-
-  AliTOFQATask * tof   = new AliTOFQATask("TOF") ;
-  ag->ConnectInput(tof, phosIn, 0) ; 
-  ag->ConnectOuput(tof, TObjArray::Class(), 0) ;  
-
-  AliVZEROQATask * vzero = new AliVZEROQATask("VZERO") ;
-  ag->ConnectInput(vzero, phosIn, 0) ; 
-  ag->ConnectOuput(vzero, TObjArray::Class(), 0) ;  
-
-  AliFMDQATask * fmd = new AliFMDQATask("FMD") ;
-  ag->ConnectInput(fmd, phosIn, 0) ; 
-  ag->ConnectOuput(fmd, TObjArray::Class(), 0) ;  
-
-  // get the data to analyze
-
-  // definition of Tag cuts 
-  const char * runCuts = 0x0 ; 
-  const char * evtCuts = 0x0 ; 
-  const char * lhcCuts = 0x0 ; 
-  const char * detCuts = 0x0 ; 
-  
-//"fEventTag.fNPHOSClustersMin == 1 && fEventTag.fNEMCALClustersMin == 1" ; 
-
-  
-  TString input = gSystem->Getenv("ANA_INPUT") ; 
-  if ( input != "") {
-    char argument[1024] ;  
-    if ( input.Contains("tag?") ) {
-      //create the ESD collection from the tag collection 
-      input.ReplaceAll("tag?", "") ; 
-      const char * collESD = "esdCollection.xml" ;
-      ag->MakeEsdCollectionFromTagCollection(runCuts, lhcCuts, detCuts, evtCuts, input.Data(), collESD) ;
-      sprintf(argument, "esd?%s", collESD) ; 
-    } else if ( input.Contains("esd?") ) 
-      sprintf(argument, "%s", input.Data()) ; 
-    ag->Process(argument) ;
-
-  } else {
-
-    TChain* analysisChain = new TChain("esdTree") ;
-    //   input = "alien:///alice/cern.ch/user/a/aliprod/prod2006_2/output_pp/105/411/AliESDs.root" ; 
-    //   analysisChain->AddFile(input);
-    input = "AliESDs.root" ; 
-    const char * kInDir = gSystem->Getenv("OUTDIR") ; 
-    if ( kInDir ) {
-      if ( ! gSystem->cd(kInDir) ) {
-       printf("%s does not exist\n", kInDir) ;
-       return ;
-      }     
-      Int_t event, skipped=0 ; 
-      char file[120] ;
-      for (event = 0 ; event < kEvent ; event++) {
-        sprintf(file, "%s/%d/AliESDs.root", kInDir,event) ; 
-       TFile * fESD = 0 ; 
-       if ( fESD = TFile::Open(file)) 
-         if ( fESD->Get("esdTree") ) { 
-            printf("++++ Adding %s\n", file) ;
-            analysisChain->AddFile(file);
-         }
-         else { 
-            printf("---- Skipping %s\n", file) ;
-            skipped++ ;
-         }
-      }
-      printf("number of entries # %lld, skipped %d\n", analysisChain->GetEntries(), skipped*100) ;     
-    }
-    else  
-      analysisChain->AddFile(input);
-    
-    ag->Process(analysisChain) ; 
-  }
-  return ;
-}
-
-//______________________________________________________________________
-void Merge(const char * xml, const char * sub, const char * out) 
-{
-  if (! gIsAnalysisLoaded ) 
-    LoadLib("ESD") ; 
-  
-  AliAnalysisGoodies * ag = new AliAnalysisGoodies() ; 
-  ag->Merge(xml, sub, out) ;
-}
-