Extract from the analysis base class a new class containing the histograms settings AliHistogramRanges
All classes in the Dep directory affected and updated. Example macros updated or newly added with new naming
PartCorrBase/AliMCAnalysisUtils.cxx
PartCorrBase/AliIsolationCut.cxx
PartCorrBase/AliAnaScale.cxx
- PartCorrBase/AliAnaPartCorrMaker.cxx
- PartCorrBase/AliAnaPartCorrBaseClass.cxx
- PartCorrBase/AliAnalysisTaskParticleCorrelation.cxx
- PartCorrBase/AliAnalysisTaskParticleCorrelationM.cxx
PartCorrBase/AliCaloTrackReader.cxx
PartCorrBase/AliCaloTrackESDReader.cxx
PartCorrBase/AliCaloTrackAODReader.cxx
PartCorrBase/AliCaloTrackMCReader.cxx
PartCorrBase/AliCalorimeterUtils.cxx
PartCorrBase/AliAnalysisTaskCounter.cxx
+ PartCorrBase/AliAnaCaloTrackCorrMaker.cxx
+ PartCorrBase/AliAnaCaloTrackCorrBaseClass.cxx
+ PartCorrBase/AliAnalysisTaskCaloTrackCorrelation.cxx
+ PartCorrBase/AliAnalysisTaskCaloTrackCorrelationM.cxx
+ PartCorrBase/AliHistogramRanges.cxx
)
string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
#pragma link C++ class AliCaloPID+;
#pragma link C++ class AliMCAnalysisUtils+;
#pragma link C++ class AliIsolationCut+;
-#pragma link C++ class AliAnaPartCorrMaker+;
-#pragma link C++ class AliAnaPartCorrBaseClass+;
-#pragma link C++ class AliAnalysisTaskParticleCorrelation+;
-#pragma link C++ class AliAnalysisTaskParticleCorrelationM+;
#pragma link C++ class AliCaloTrackReader+;
#pragma link C++ class AliCaloTrackESDReader+;
#pragma link C++ class AliCaloTrackAODReader+;
#pragma link C++ class AliCaloTrackMCReader+;
#pragma link C++ class AliCalorimeterUtils+;
#pragma link C++ class AliAnalysisTaskCounter+;
+#pragma link C++ class AliAnaCaloTrackCorrMaker+;
+#pragma link C++ class AliAnaCaloTrackCorrBaseClass+;
+#pragma link C++ class AliAnalysisTaskCaloTrackCorrelation+;
+#pragma link C++ class AliAnalysisTaskCaloTrackCorrelationM+;
+#pragma link C++ class AliHistogramRanges+;
#endif
+++ /dev/null
-/**************************************************************************
- * 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: $ */
-
-//_________________________________________________________________________
-// Base class for analysis algorithms
-//-- Author: Gustavo Conesa (LNF-INFN)
-//
-//
-//_________________________________________________________________________
-
-
-// --- ROOT system ---
-#include <TClonesArray.h>
-//#include <Riostream.h>
-
-//---- AliRoot system ----
-#include "AliAnaPartCorrBaseClass.h"
-#include "AliCaloTrackReader.h"
-#include "AliCalorimeterUtils.h"
-#include "AliCaloPID.h"
-#include "AliFiducialCut.h"
-#include "AliIsolationCut.h"
-#include "AliMCAnalysisUtils.h"
-#include "AliNeutralMesonSelection.h"
-#include "AliVCaloCells.h"
-#include "AliAODEvent.h"
-#include "AliAODHandler.h"
-#include "AliAnalysisManager.h"
-#include "AliAODPWG4Particle.h"
-
-ClassImp(AliAnaPartCorrBaseClass)
-
-
-//_______________________________________________
-AliAnaPartCorrBaseClass::AliAnaPartCorrBaseClass() :
-TObject(),
-fDataMC(0), fDebug(0), fCheckFidCut(0),
-fCheckCaloPID(0), fRecalculateCaloPID(0),
-fMinPt(0), fMaxPt(0), fPairTimeCut(200),
-fMultiBin(0), fNZvertBin(0),
-fNrpBin(0), fNCentrBin(0),
-fNmaxMixEv(0), fMaxMulti(0), fMinMulti(0),
-fUseSelectEvent(kFALSE), fMakePlots(kFALSE),
-fReader(0x0), fInputAODBranch(0x0), fInputAODName(""),
-fOutputAODBranch(0x0), fNewAOD(kFALSE),
-fOutputAODName(""), fOutputAODClassName(""),
-fAODObjArrayName(""), fAddToHistogramsName(""),
-fCaloPID(0x0), fFidCut(0x0), fIC(0x0),
-fMCUtils(0x0), fNMS(0x0), fCaloUtils(0x0),
-fHistoPtBins(0), fHistoPtMax(0.), fHistoPtMin(0.),
-fHistoPhiBins(0), fHistoPhiMax(0.), fHistoPhiMin(0.),
-fHistoEtaBins(0), fHistoEtaMax(0.), fHistoEtaMin(0.),
-fHistoMassBins(0), fHistoMassMax(0.), fHistoMassMin(0.),
-fHistoAsymBins(0), fHistoAsymMax(0.), fHistoAsymMin(0.),
-fHistoV0SBins(0), fHistoV0SMax(0), fHistoV0SMin(0),
-fHistoV0MBins(0), fHistoV0MMax(0), fHistoV0MMin(0),
-fHistoTrMBins(0), fHistoTrMMax(0), fHistoTrMMin(0),
-fHistoFinePtBins(1000), fHistoFinePtMax(5.), fHistoFinePtMin(0.),
-fHistoPOverEBins(100), fHistoPOverEMax(100.), fHistoPOverEMin(0.),
-fHistodEdxBins(100), fHistodEdxMax(100.), fHistodEdxMin(0.),
-fHistodRBins(100), fHistodRMax(100.), fHistodRMin(0.),
-fHistoTimeBins(100), fHistoTimeMax(100.), fHistoTimeMin(0.),
-fHistoNClusCellBins(100), fHistoNClusCellMax(100), fHistoNClusCellMin(0),
-fHistoNCellsBins(100), fHistoNCellsMax(100), fHistoNCellsMin(0),
-fHistoNClustersBins(100), fHistoNClustersMax(100), fHistoNClustersMin(0),
-fHistoRatioBins(100), fHistoRatioMax(100.), fHistoRatioMin(0.),
-fHistoVertexDistBins(100), fHistoVertexDistMax(100.), fHistoVertexDistMin(0.),
-fHistoRBins(100), fHistoRMax(1000), fHistoRMin(-1000),
-fHistoXBins(100), fHistoXMax(1000), fHistoXMin(-1000),
-fHistoYBins(100), fHistoYMax(1000), fHistoYMin(-1000),
-fHistoZBins(100), fHistoZMax(1000), fHistoZMin(-1000),
-fHistoSSBins(0), fHistoSSMax(0), fHistoSSMin(0),
-fHistoDiffTimeBins(0), fHistoDiffTimeMax(0), fHistoDiffTimeMin(0)
-{
- //Default Ctor
-
- //Initialize parameters
- InitParameters();
-}
-
-//_________________________________________________
-AliAnaPartCorrBaseClass::~AliAnaPartCorrBaseClass()
-{
- // Remove all pointers except analysis output pointers.
- //printf("---Delete analysis %s\n", fAODObjArrayName.Data());
- // Not sure if it should be me who deletes the delta AOD branches.
- // if(fOutputAODBranch){
- // fOutputAODBranch->Clear() ;
- // delete fOutputAODBranch ;
- // }
- //
- // if(fInputAODBranch){
- // fInputAODBranch->Clear() ;
- // delete fInputAODBranch ;
- // }
-
- //if(fCaloUtils) delete fCaloUtils ; //Already deleted in maker
- //if(fReader) delete fReader ; //Already deleted in maker
-
- if(fCaloPID) delete fCaloPID ;
- if(fFidCut) delete fFidCut ;
- if(fIC) delete fIC ;
- if(fMCUtils) delete fMCUtils ;
- if(fNMS) delete fNMS ;
-
- // printf("--- analysis deleted \n");
-}
-
-//_________________________________________________________________
-void AliAnaPartCorrBaseClass::AddAODParticle(AliAODPWG4Particle pc)
-{
- //Put AOD calo cluster in the AODParticleCorrelation array
-
- if(fOutputAODBranch){
-
- Int_t i = fOutputAODBranch->GetEntriesFast();
- //new((*fOutputAODBranch)[i]) AliAODPWG4Particle(pc);
- if(strcmp(fOutputAODBranch->GetClass()->GetName(),"AliAODPWG4Particle")==0)
- new((*fOutputAODBranch)[i]) AliAODPWG4Particle(pc);
- else if(strcmp(fOutputAODBranch->GetClass()->GetName(),"AliAODPWG4ParticleCorrelation")==0)
- new((*fOutputAODBranch)[i]) AliAODPWG4ParticleCorrelation(pc);
- else {
- printf("AliAnaPartCorrBaseClass::AddAODParticle() - Cannot add an object of type < %s >, to the AOD TClonesArray \n",
- fOutputAODBranch->GetClass()->GetName());
- abort();
- }
- }
- else {
- printf(" AliAnaPartCorrBaseClass::AddAODParticle() - No AOD branch available!!!\n");
- abort();
- }
-
-}
-
-
-//___________________________________________________________
-void AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches()
-{
- //Recover ouput and input AOD pointers for each event in the maker
-
- //Delta AODs
- if(fDebug > 3) printf("AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches() - Connect Input with name: <%s>; Connect output with name <%s>\n",fInputAODName.Data(),fOutputAODName.Data());
-
- //Get the AOD handler, if output AOD is created use it, if not get the branches from the input which should be deltaAODs
- AliAODHandler* aodHandler = 0x0;
- Bool_t outAOD = kFALSE;
- if((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler()) outAOD = kTRUE;
- if(outAOD) aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
- else aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
-
- if(!GetReader()->WriteDeltaAODToFile())
- {
- fOutputAODBranch = (TClonesArray *) (fReader->GetAODBranchList())->FindObject(fOutputAODName);
- fInputAODBranch = (TClonesArray *) (fReader->GetAODBranchList())->FindObject(fInputAODName);
- }
- else if (aodHandler->GetExtensions()) {
-
- AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(GetReader()->GetDeltaAODFileName());
- if(ext){
- AliAODEvent *aodEvent = ext->GetAOD();
- if(fNewAOD)fOutputAODBranch = (TClonesArray*) aodEvent->FindListObject(fOutputAODName);
- fInputAODBranch = (TClonesArray*) aodEvent->FindListObject(fInputAODName);
- if(!fOutputAODBranch && fNewAOD) fOutputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fOutputAODName);
- if(!fInputAODBranch) fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);
- }
- else{//If no Delta AODs, kept in standard branch, to revise.
- if(fNewAOD && fReader->GetOutputEvent()) {
- fOutputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fOutputAODName);
- fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);
- }
- else {
- fInputAODBranch = (TClonesArray *) fReader->GetInputEvent()->FindListObject(fInputAODName);
- if(!fInputAODBranch && fReader->GetOutputEvent() )
- fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);//Try the output event.
- }
- }
- }
- else{ //If no Delta AODs, kept in standard branch
- if(fNewAOD && fReader->GetOutputEvent()) {
- fOutputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fOutputAODName);
- fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);
- }
- else{
- fInputAODBranch = (TClonesArray *) fReader->GetInputEvent()->FindListObject(fInputAODName);
- if(!fInputAODBranch && fReader->GetOutputEvent())
- fInputAODBranch = (TClonesArray *) fReader->GetOutputEvent()->FindListObject(fInputAODName);//Try the output event.
- }
- }
-
- if(GetDebug() > 1){
- if(fNewAOD && !fOutputAODBranch)
- printf(" AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches() - Output Branch <%s>, not found!\n",fOutputAODName.Data());
- if(!fNewAOD && !fInputAODBranch)
- printf(" AliAnaPartCorrBaseClass::ConnectInputOutputAODBranches() - Input Branch <%s>, not found!\n",fInputAODName.Data());
- }
-}
-
-
-//_____________________________________________________________________________________
-AliVCluster * AliAnaPartCorrBaseClass::FindCluster(TObjArray* clusters, const Int_t id,
- Int_t & iclus, const Int_t first)
-{
- // Given the cluster ID stored in AliAODPWG4Particle, get the originator cluster and its index in the array
-
- if(!clusters) return 0x0;
-
- for(iclus = first; iclus < clusters->GetEntriesFast(); iclus++){
- AliVCluster *cluster= dynamic_cast<AliVCluster*> (clusters->At(iclus));
- if(cluster){
- if (cluster->GetID()==id) {
- return cluster;
- }
- }
- }// calorimeter clusters loop
-
- return 0x0;
-
-}
-
-
-//_________________________________________________________________________
-TClonesArray * AliAnaPartCorrBaseClass::GetAODBranch(TString aodName) const
-{
- //Recover ouput and input AOD pointers for each event in the maker
-
- //Delta AODs
- if(fDebug > 3) printf("AliAnaPartCorrBaseClass::GetAODBranch() - Get Input Branch with name: <%s>; \n",aodName.Data());
-
- //Get the AOD handler, if output AOD is created use it, if not get the branches from the input which should be deltaAODs
- AliAODHandler* aodHandler = 0x0;
- Bool_t outAOD = kFALSE;
- if((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler()) outAOD = kTRUE;
- if(outAOD) aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
- else aodHandler = (AliAODHandler*) ((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
-
- if(!GetReader()->WriteDeltaAODToFile())
- {
- return (TClonesArray *) (fReader->GetAODBranchList())->FindObject(aodName);
- }
- else if (aodHandler->GetExtensions())
- {
- AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject(GetReader()->GetDeltaAODFileName());
- if(ext){
- AliAODEvent *aodEvent = ext->GetAOD();
- TClonesArray * aodbranch = (TClonesArray*) aodEvent->FindListObject(aodName);
- if(aodbranch) return aodbranch;
- else {
- if(outAOD) return (TClonesArray *) fReader->GetOutputEvent()->FindListObject(aodName);
- else return (TClonesArray *) fReader->GetInputEvent() ->FindListObject(aodName);
- }
- }
- else{//If no Delta AODs, kept in standard branch, to revise.
- if(outAOD) return (TClonesArray *) fReader->GetOutputEvent()->FindListObject(aodName);
- else return (TClonesArray *) fReader->GetInputEvent() ->FindListObject(aodName);
- }
- }
- else{ //If no Delta AODs, kept in standard branch, to revise.
- if(outAOD) return (TClonesArray *) fReader->GetOutputEvent()->FindListObject(aodName);
- else return (TClonesArray *) fReader->GetInputEvent() ->FindListObject(aodName);
- }
-
-}
-
-//________________________________________________________
-TObjArray * AliAnaPartCorrBaseClass::GetCTSTracks() const
-{
- //Get list of referenced tracks from reader
-
- return fReader->GetCTSTracks();
-
-}
-
-//___________________________________________________________
-TObjArray * AliAnaPartCorrBaseClass::GetPHOSClusters() const
-{
- //Get list of PHOS reference caloclusters from reader
-
- return fReader->GetPHOSClusters();
-
-}
-
-//____________________________________________________________
-TObjArray * AliAnaPartCorrBaseClass::GetEMCALClusters() const
-{
- //Get list of emcal referenced caloclusters from reader
-
- return fReader->GetEMCALClusters();
-
-}
-
-//_________________________________________________________________
-TClonesArray * AliAnaPartCorrBaseClass::GetAODCaloClusters() const
-{
- //Get list of all caloclusters in AOD output file
-
- return fReader->GetOutputEvent()->GetCaloClusters();
-
-}
-
-//___________________________________________________________
-TClonesArray * AliAnaPartCorrBaseClass::GetAODTracks() const
-{
- //Get list of all tracks in AOD output file
-
- return fReader->GetOutputEvent()->GetTracks();
-
-}
-
-//_______________________________________________________
-TString AliAnaPartCorrBaseClass::GetBaseParametersList()
-{
- //Put data member values in string to keep in output container
-
- TString parList ; //this will be list of parameters used for this analysis.
- const Int_t buffersize = 255;
- char onePar[buffersize] ;
- snprintf(onePar,buffersize,"--- AliAnaPartCorrBaseClass ---\n") ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"Minimal P_t: %2.2f ; Max\n", fMinPt) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"Minimal P_t: %2.2f ; Max\n", fMaxPt) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"|t_{1}-t_{2}| < %2.2f ; Max\n", fPairTimeCut) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"fDataMC =%d (Check MC information, on/off) \n",fDataMC) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"fCheckFidCut=%d (Check Fiducial cut selection on/off) \n",fCheckFidCut) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"fCheckCaloPID =%d (Use Bayesian PID in calorimetes, on/off) \n",fCheckCaloPID) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"fRecalculateCaloPID =%d (Calculate PID from shower/tof/tracking parameters, on/off) \n",fRecalculateCaloPID) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"fInputAODName =%s Input AOD name \n",fInputAODName.Data()) ;
- parList+=onePar ;
- if(fNewAOD){
- snprintf(onePar,buffersize,"fOutputAODName =%s Output AOD name \n",fOutputAODName.Data()) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"fOutputAODClassName =%s Output AOD class name \n",fOutputAODClassName.Data()) ;
- parList+=onePar ;
- }
- snprintf(onePar,buffersize,"fAODObjArrayName =%s Reference arrays in AOD name \n",fAODObjArrayName.Data()) ;
- parList+=onePar ;
- snprintf(onePar,buffersize,"fAddToHistogramsName =%s String added to beginning of histograms name \n",fAddToHistogramsName.Data()) ;
- parList+=onePar ;
-
- return parList;
-
-}
-
-//________________________________________________________________
-TClonesArray * AliAnaPartCorrBaseClass::GetCreateOutputAODBranch()
-{
- //Create AOD branch filled in the analysis
-
- printf("Create AOD branch of %s objects and with name < %s >\n",
- fOutputAODClassName.Data(),fOutputAODName.Data()) ;
-
- TClonesArray * aodBranch = new TClonesArray(fOutputAODClassName, 0);
- aodBranch->SetName(fOutputAODName);
- return aodBranch ;
-
-}
-
-//___________________________________________________
-Int_t AliAnaPartCorrBaseClass::GetEventNumber() const
-{
- //Get current event number
-
- return fReader->GetEventNumber() ;
-
-}
-
-
-//_____________________________________________________
-AliStack * AliAnaPartCorrBaseClass::GetMCStack() const
-{
- //Get stack pointer from reader
-
- return fReader->GetStack();
-
-}
-//_______________________________________________________
-AliHeader * AliAnaPartCorrBaseClass::GetMCHeader() const
-{
- //Get header pointer from reader
-
- return fReader->GetHeader();
-
-}
-
-//_______________________________________________________________________
-AliGenEventHeader * AliAnaPartCorrBaseClass::GetMCGenEventHeader() const
-{
- //Get GenEventHeader pointer from reader
-
- return fReader->GetGenEventHeader();
-
-}
-
-//____________________________________________
-void AliAnaPartCorrBaseClass::InitParameters()
-{
- //Initialize the parameters of the analysis.
- fDataMC = kFALSE;
- fDebug = -1;
- fCheckCaloPID = kTRUE ;
- fCheckFidCut = kFALSE ;
- fRecalculateCaloPID = kFALSE ;
- fMinPt = 0.1 ; //Min pt in particle analysis
- fMaxPt = 300. ; //Max pt in particle analysis
- fMultiBin = 1;
- fNZvertBin = 1;
- fNrpBin = 1;
- fMaxMulti = 1000;
- fMinMulti = 0;
- fUseSelectEvent = kFALSE ;
-
- //fReader = new AliCaloTrackReader(); //Initialized in maker
- //fCaloUtils = new AliCalorimeterUtils();//Initialized in maker
-
- fNewAOD = kFALSE ;
- fOutputAODName = "PartCorr";
- fOutputAODClassName = "AliAODPWG4Particle";
- fInputAODName = "PartCorr";
- fAddToHistogramsName = "";
- fAODObjArrayName = "Ref";
-
- //Histogram settings
- fHistoPtBins = 240 ;
- fHistoPtMax = 120 ;
- fHistoPtMin = 0. ;
-
- fHistoPhiBins = 120 ;
- fHistoPhiMax = TMath::TwoPi();
- fHistoPhiMin = 0. ;
-
- fHistoEtaBins = 100 ;
- fHistoEtaMax = 1 ;
- fHistoEtaMin = -1 ;
-
- fHistoMassBins = 200;
- fHistoMassMax = 1. ;
- fHistoMassMin = 0. ;
-
- fHistoAsymBins = 10 ;
- fHistoAsymMax = 1. ;
- fHistoAsymMin = 0. ;
-
- fHistoV0SBins = 100 ;
- fHistoV0SMax = 10000 ;
- fHistoV0SMin = 0 ;
-
- fHistoV0MBins = 100;
- fHistoV0MMax = 10000 ;
- fHistoV0MMin = 0 ;
-
- fHistoTrMBins = 100 ;
- fHistoTrMMax = 2000 ;
- fHistoTrMMin = 0 ;
-
- fHistoPOverEBins = 100 ; fHistoPOverEMax = 10. ; fHistoPOverEMin = 0. ;
- fHistodEdxBins = 200 ; fHistodEdxMax = 400. ; fHistodEdxMin = 0. ;
- fHistodRBins = 300 ; fHistodRMax = 3.15 ; fHistodRMin = 0. ;
- fHistoTimeBins = 1000; fHistoTimeMax = 1.e3 ; fHistoTimeMin = 0. ;//ns
- fHistoNClusCellBins = 200 ; fHistoNClusCellMax = 200 ; fHistoNClusCellMin = 0 ;
- fHistoNCellsBins = 300 ; fHistoNCellsMax = 300 ; fHistoNCellsMin = 0 ;
- fHistoNClustersBins = 50 ; fHistoNClustersMax = 50 ; fHistoNClustersMin = 0 ;
- fHistoRatioBins = 200 ; fHistoRatioMax = 2 ; fHistoRatioMin = 0. ;
- fHistoVertexDistBins = 100 ; fHistoVertexDistMax = 500. ; fHistoVertexDistMin = 0. ;
- fHistoRBins = 100 ; fHistoRMax = 500 ; fHistoRMin = -500 ;//cm
- fHistoXBins = 100 ; fHistoXMax = 500 ; fHistoXMin = -500 ;//cm
- fHistoYBins = 100 ; fHistoYMax = 500 ; fHistoYMin = -500 ;//cm
- fHistoZBins = 100 ; fHistoZMax = 600 ; fHistoZMin = -500 ;//cm
- fHistoSSBins = 500 ; fHistoSSMax = 5 ; fHistoSSMin = 0 ;
- fHistoDiffTimeBins = 800 ; fHistoDiffTimeMax = 400 ; fHistoDiffTimeMin = -400; // ns
-
-}
-
-//_____________________________________________________________
-void AliAnaPartCorrBaseClass::Print(const Option_t * opt) const
-{
- //Print some relevant parameters set for the analysis
-
- if(! opt)
- return;
-
- printf("New AOD: = %d\n",fNewAOD);
- printf("Input AOD name: = %s\n",fInputAODName.Data());
- printf("Output AOD name: = %s\n",fOutputAODName.Data());
- printf("Output AOD Class name: = %s\n",fOutputAODClassName.Data());
- printf("Min Photon pT = %2.2f\n", fMinPt) ;
- printf("Max Photon pT = %3.2f\n", fMaxPt) ;
- printf("Check PID = %d\n", fCheckCaloPID) ;
- printf("Recalculate PID = %d\n", fRecalculateCaloPID) ;
- printf("Check Fiducial cut = %d\n", fCheckFidCut) ;
- printf("Check MC labels = %d\n", fDataMC);
- printf("Make plots? = %d \n", fMakePlots);
- printf("Debug Level = %d\n", fDebug);
- printf("Histograms: %3.1f < pT < %3.1f, Nbin = %d\n", fHistoPtMin, fHistoPtMax, fHistoPtBins);
- printf("Histograms: %3.1f < phi < %3.1f, Nbin = %d\n", fHistoPhiMin, fHistoPhiMax, fHistoPhiBins);
- printf("Histograms: %3.1f < eta < %3.1f, Nbin = %d\n", fHistoEtaMin, fHistoEtaMax, fHistoEtaBins);
- printf("Histograms: %3.1f < mass < %3.1f, Nbin = %d\n", fHistoMassMin, fHistoMassMax, fHistoMassBins);
- printf("Histograms: %3.1f < asymmetry < %3.1f, Nbin = %d\n", fHistoAsymMin, fHistoAsymMax, fHistoAsymBins);
- printf("Histograms: %d < V0 Signal < %d, Nbin = %d\n", fHistoV0SMin, fHistoV0SMax, fHistoV0SBins);
- printf("Histograms: %d < V0 Mult < %d, Nbin = %d\n", fHistoV0MMin, fHistoV0MMax, fHistoV0MBins);
- printf("Histograms: %d < Track Mult < %d, Nbin = %d\n", fHistoTrMMin, fHistoTrMMax, fHistoTrMBins);
- printf("Histograms: %3.1f < p/E < %3.1f, Nbin = %d\n", fHistoPOverEMin, fHistoPOverEMax, fHistoPOverEBins);
- printf("Histograms: %3.1f < dEdx < %3.1f, Nbin = %d\n", fHistodEdxMin, fHistodEdxMax, fHistodEdxBins);
- printf("Histograms: %3.1f < dR (track cluster) < %3.1f, Nbin = %d\n", fHistodRMin, fHistodRMax, fHistodRBins);
- printf("Histograms: %3.1f < R=sqrt{x^2+y^2} < %3.1f, Nbin = %d\n", fHistoRMin, fHistoRMax, fHistoRBins);
- printf("Histograms: %3.1f < X < %3.1f, Nbin = %d\n", fHistoXMin, fHistoXMax, fHistoXBins);
- printf("Histograms: %3.1f < Y < %3.1f, Nbin = %d\n", fHistoYMin, fHistoYMax, fHistoYBins);
- printf("Histograms: %3.1f < Z < %3.1f, Nbin = %d\n", fHistoZMin, fHistoZMax, fHistoZBins);
- printf("Histograms: %g < Time < %g, Nbin = %d\n" , fHistoTimeMin, fHistoTimeMax, fHistoTimeBins);
- printf("Histograms: %d < N cells per cluster < %d, Nbin = %d\n", fHistoNClusCellMin, fHistoNClusCellMax, fHistoNClusCellBins);
- printf("Histograms: %d < N cells < %d, Nbin = %d\n" , fHistoNCellsMin, fHistoNCellsMax, fHistoNCellsBins);
- printf("Histograms: %d < N clusters < %d, Nbin = %d\n" , fHistoNClustersMin, fHistoNClustersMax, fHistoNClustersBins);
- printf("Histograms: %3.1f < Ratio< %3.1f, Nbin = %d\n", fHistoRatioMin, fHistoRatioMax, fHistoRatioBins);
- printf("Histograms: %3.1f < Vertex Distance < %3.1f, Nbin = %d\n", fHistoVertexDistMin, fHistoVertexDistMax, fHistoVertexDistBins);
-
- printf("Name of reference array : %s\n", fAODObjArrayName.Data());
- printf("String added histograms name : %s\n",fAddToHistogramsName.Data());
-
- printf(" \n") ;
-
-}
-
-
-
+++ /dev/null
-#ifndef ALIANAPARTCORRBASECLASS_H
-#define ALIANAPARTCORRBASECLASS_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-/* $Id: $ */
-
- //_________________________________________________________________________
- // Base class for analysis algorithms
- //-- Author: Gustavo Conesa (INFN-LNF)
-//-Add the possibality for event selection analysis based on vertex and multiplicity bins (Yaxian Mao, 10/10/2010)
-#include <cstdlib>
-
- //ROOT
-class TClonesArray ;
-class TObjArray ;
-#include <TList.h>
-#include <TObject.h>
-class TObjString;
-
- //Analysis
-class AliVCaloCells;
-#include "AliCaloTrackReader.h"
-#include "AliCaloPID.h"
-#include "AliFiducialCut.h"
-#include "AliIsolationCut.h"
-#include "AliMCAnalysisUtils.h"
-#include "AliNeutralMesonSelection.h"
-#include "AliCalorimeterUtils.h"
-class AliStack ;
-class AliHeader ;
-class AliGenEventHeader ;
-#include "AliAODPWG4ParticleCorrelation.h"
-class AliEMCALGeometry;
-class AliPHOSGeoUtils;
-#include "AliMixedEvent.h"
-#include "AliCentrality.h"
-#include "AliEventplane.h"
-
-class AliAnaPartCorrBaseClass : public TObject {
-
-public:
- AliAnaPartCorrBaseClass() ; // default ctor
- virtual ~AliAnaPartCorrBaseClass() ; //virtual dtor
-
-private:
- AliAnaPartCorrBaseClass(const AliAnaPartCorrBaseClass & g) ; // cpy ctor
- AliAnaPartCorrBaseClass & operator = (const AliAnaPartCorrBaseClass & g) ;//cpy assignment
-
-public:
-
-
- //General methods, to be declared in deriving classes if needed
-
- virtual void MakeAnalysisFillAOD() {;}
-
- virtual void MakeAnalysisFillHistograms() {;}
-
- AliVCluster* FindCluster(TObjArray* clusters, const Int_t id, Int_t & iclus, const Int_t first=0) ;
-
- virtual void Init() {;}
- virtual void InitParameters() ;
-
- virtual void Print(const Option_t * ) const ;
-
- virtual void Terminate(TList * /*outputList*/) {;}
-
-
- //Histograms, cuts
- virtual TList * GetCreateOutputObjects() { return (new TList) ; }
-
- virtual void AddToHistogramsName(TString add) { fAddToHistogramsName = add ; }
- virtual TString GetAddedHistogramsStringToName()const { return fAddToHistogramsName ; }
-
- virtual TObjString * GetAnalysisCuts() { return 0x0 ; }
- TString GetBaseParametersList();
-
- //Getters, setters
- virtual Int_t GetDebug() const { return fDebug ; }
- virtual void SetDebug(Int_t d) { fDebug = d ; }
-
- virtual Int_t GetEventNumber() const ;
-
- virtual AliCaloTrackReader * GetReader() const { return fReader ; }
- virtual void SetReader(AliCaloTrackReader * const reader) { fReader = reader ; }
-
- //Calorimeter specific access methods
- AliCalorimeterUtils * GetCaloUtils() const { return fCaloUtils ; }
- void SetCaloUtils(AliCalorimeterUtils * caloutils) { fCaloUtils = caloutils ; }
-
- AliEMCALGeometry * GetEMCALGeometry() const { return fCaloUtils->GetEMCALGeometry() ; }
- AliPHOSGeoUtils * GetPHOSGeometry() const { return fCaloUtils->GetPHOSGeometry() ; }
-
- Int_t GetModuleNumberCellIndexes(const Int_t absId, const TString calo, Int_t & icol, Int_t & irow, Int_t &iRCU) const {
- return fCaloUtils->GetModuleNumberCellIndexes(absId, calo, icol, irow,iRCU);}
- Int_t GetModuleNumber(AliAODPWG4Particle * part) const {
- return fCaloUtils->GetModuleNumber(part, fReader->GetInputEvent());}
- Int_t GetModuleNumber(AliVCluster * cluster) const {
- return fCaloUtils->GetModuleNumber(cluster);}
-
- //Centrality
- AliCentrality* GetCentrality() const { return fReader->GetCentrality() ; }
- Int_t GetEventCentrality() const { return fReader->GetEventCentrality() ; }
-
- //Event plane
- AliEventplane* GetEventPlane() const { return fReader->GetEventPlane() ; }
- TString GetEventPlaneMethod() const { return fReader->GetEventPlaneMethod() ; }
-
- //AOD branch
- virtual void AddAODParticle(AliAODPWG4Particle part) ;
- virtual void ConnectInputOutputAODBranches();
-
- virtual TClonesArray * GetCreateOutputAODBranch() ;
- virtual TString GetInputAODName() const { return fInputAODName ; }
- virtual void SetInputAODName(TString name) { fInputAODName = name ; }
- virtual TString GetOutputAODName() const { return fOutputAODName ; }
- virtual void SetOutputAODName(TString name) { fNewAOD = kTRUE ; fOutputAODName = name; }
- virtual Bool_t NewOutputAOD() const { return fNewAOD ; }
- virtual TString GetOutputAODClassName() const { return fOutputAODClassName ; }
- virtual void SetOutputAODClassName(TString name) { fOutputAODClassName = name ; }
-
- virtual TString GetAODObjArrayName() const { return fAODObjArrayName ; }
- virtual void SetAODObjArrayName(TString name) { fAODObjArrayName = name ; }
-
- virtual TClonesArray* GetInputAODBranch() const { return fInputAODBranch ; }
- virtual TClonesArray* GetOutputAODBranch() const { if(fNewAOD) return fOutputAODBranch; else return fInputAODBranch ; }
- virtual TClonesArray* GetAODBranch(TString aodBranchName) const ;
-
- //Track cluster arrays access methods
- virtual TClonesArray* GetAODCaloClusters() const ;
- virtual TClonesArray* GetAODTracks() const ;
- virtual AliVCaloCells* GetPHOSCells() const { return fReader->GetPHOSCells() ;}
- virtual AliVCaloCells* GetEMCALCells() const { return fReader->GetEMCALCells() ;}
- virtual TObjArray* GetCTSTracks() const ;
- virtual TObjArray* GetEMCALClusters() const ;
- virtual TObjArray* GetPHOSClusters() const ;
-
- //MC event acces methods
- virtual AliStack * GetMCStack() const ;
- virtual AliHeader* GetMCHeader() const ;
- virtual AliGenEventHeader * GetMCGenEventHeader() const ;
-
- //Analysis helpers classes pointers setters and getters
- virtual AliCaloPID * GetCaloPID() { if(!fCaloPID) fCaloPID = new AliCaloPID(); return fCaloPID ; }
- virtual AliFiducialCut * GetFiducialCut() { if(!fFidCut) fFidCut = new AliFiducialCut(); return fFidCut ; }
- virtual AliIsolationCut * GetIsolationCut() { if(!fIC) fIC = new AliIsolationCut(); return fIC ; }
- virtual AliMCAnalysisUtils * GetMCAnalysisUtils() { if(!fMCUtils) fMCUtils = new AliMCAnalysisUtils(); return fMCUtils ; }
- virtual AliNeutralMesonSelection * GetNeutralMesonSelection() { if(!fNMS) fNMS = new AliNeutralMesonSelection(); return fNMS ; }
-
- virtual void SetCaloPID(AliCaloPID * const pid) { fCaloPID = pid ; }
- virtual void SetFiducialCut(AliFiducialCut * const fc) { fFidCut = fc ; }
- virtual void SetIsolationCut(AliIsolationCut * const ic) { fIC = ic ; }
- virtual void SetMCAnalysisUtils(AliMCAnalysisUtils * const mcutils) { fMCUtils = mcutils ; }
- virtual void SetNeutralMesonSelection(AliNeutralMesonSelection * const nms) { fNMS = nms ; }
-
- virtual Bool_t IsDataMC() const { return fDataMC ; }
- virtual void SwitchOnDataMC() { fDataMC = kTRUE ; if(!fMCUtils)fMCUtils = new AliMCAnalysisUtils();}
- virtual void SwitchOffDataMC() { fDataMC = kFALSE ; }
-
- virtual Bool_t IsFiducialCutOn() const { return fCheckFidCut ; }
- virtual void SwitchOnFiducialCut() { fCheckFidCut = kTRUE; if(!fFidCut)fFidCut = new AliFiducialCut();}
- virtual void SwitchOffFiducialCut() { fCheckFidCut = kFALSE ; }
-
- virtual Bool_t IsCaloPIDOn() const { return fCheckCaloPID ; }
- virtual void SwitchOnCaloPID() { fCheckCaloPID = kTRUE; if(!fCaloPID)fCaloPID = new AliCaloPID();}
- virtual void SwitchOffCaloPID() { fCheckCaloPID = kFALSE ; }
-
- //Cluster energy/momentum cut
- virtual Float_t GetMaxPt() const { return fMaxPt ; }
- virtual Float_t GetMinPt() const { return fMinPt ; }
- virtual void SetMaxPt(Float_t pt) { fMaxPt = pt ; }
- virtual void SetMinPt(Float_t pt) { fMinPt = pt ; }
- virtual void SetPtCutRange(Double_t ptmin, Double_t ptmax)
- { fMaxPt=ptmax; fMinPt=ptmin; }
-
- virtual Float_t GetMaxEnergy() const { return fMaxPt ; }
- virtual Float_t GetMinEnergy() const { return fMinPt ; }
- virtual void SetMaxEnergy(Float_t e) { fMaxPt = e ; }
- virtual void SetMinEnergy(Float_t e) { fMinPt = e ; }
- virtual void SetEnergyCutRange(Double_t emin, Double_t emax)
- { fMaxPt=emax; fMinPt=emin; }
-
- //Cluster Pairs Time cut
- virtual void SetPairTimeCut(Float_t t) { fPairTimeCut = t ; } //ns
- virtual Float_t GetPairTimeCut() const { return fPairTimeCut ; } //ns
-
- //Setters for parameters of event buffers
- virtual void SetMultiBin(Int_t n=1) { fMultiBin = n ;} //number of bins in Multiplicity
- virtual void SetNZvertBin(Int_t n=1) { fNZvertBin = n ;} //number of bins for vertex position
- virtual void SetNRPBin(Int_t n=1) { fNrpBin = n ;} //number of bins in reaction plain
- virtual void SetNCentrBin(Int_t n=1) { fNCentrBin = n ;} //number of bins in centrality
- virtual void SetNMaxEvMix(Int_t n=20) { fNmaxMixEv = n ;} //maximal number of events for mixing
- virtual void SetMultiplicity(Int_t multimin, Int_t multimax) {fMinMulti = multimin ; fMaxMulti = multimax ; }
- virtual void SwitchOnEventSelection() { fUseSelectEvent = kTRUE ; }
- virtual void SwitchOffEventSelection() { fUseSelectEvent = kFALSE ; }
- //Getters for event selection
- virtual Int_t GetMultiBin() const { return fMultiBin ; } //number of bins in Multiplicity
- virtual Int_t GetNZvertBin() const { return fNZvertBin ; } //number of bins in vertex
- virtual Int_t GetNRPBin() const { return fNrpBin ; } //number of bins in reaction plain
- virtual Int_t GetNCentrBin() const { return fNCentrBin ; } //number of bins in centrality
- virtual Int_t GetNMaxEvMix() const { return fNmaxMixEv ; } //maximal number of events for mixin
- virtual Float_t GetZvertexCut() const { return GetReader()->GetZvertexCut();} //cut on vertex position
- virtual Int_t GetMaxMulti() const { return fMaxMulti ; }
- virtual Int_t GetMinMulti() const { return fMinMulti ; }
-
- // Do correlation analysis with different event buffers
- virtual Bool_t DoEventSelect() const { return fUseSelectEvent ; }
-
- //Mixed event
- virtual AliMixedEvent * GetMixedEvent() { return GetReader()->GetMixedEvent() ; }
- virtual Int_t GetNMixedEvent() const { return GetReader()->GetNMixedEvent() ; }
-
- //Vertex methods
- virtual void GetVertex(Double_t vertex[3]) const { GetReader()->GetVertex(vertex) ; }
- virtual void GetVertex(Double_t vertex[3], const Int_t evtIndex) const
- { GetReader()->GetVertex(vertex,evtIndex) ; }
- virtual Double_t* GetVertex(const Int_t evtIndex) const { return GetReader()->GetVertex(evtIndex) ; }
-
- virtual Bool_t IsTrackMatched(AliVCluster * cluster, AliVEvent* event) const
- { return fCaloPID->IsTrackMatched(cluster, fCaloUtils, event) ; }
-
- //MULTIPLICITY
- Int_t GetTrackMultiplicity() const { return fReader->GetTrackMultiplicity() ; }
- //VZERO
- Int_t GetV0Signal(Int_t i ) const { return fReader->GetV0Signal(i) ; }
- Int_t GetV0Multiplicity(Int_t i ) const { return fReader->GetV0Multiplicity(i) ; }
-
-
- //Histogrammes setters and getters (move to independend class to hold the parameters soon)
-
- //Pt, Energy
- virtual void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoPtBins = n ;
- fHistoPtMax = max ;
- fHistoPtMin = min ;
- }
-
- virtual Int_t GetHistoPtBins() const { return fHistoPtBins ; }
- virtual Float_t GetHistoPtMin() const { return fHistoPtMin ; }
- virtual Float_t GetHistoPtMax() const { return fHistoPtMax ; }
- virtual void SetHistoEnergyRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- SetHistoPtRangeAndNBins(min, max, n);
- }
-
- virtual Int_t GetHistoEnergyBins() const { return fHistoPtBins ; }
- virtual Float_t GetHistoEnergyMin() const { return fHistoPtMin ; }
- virtual Float_t GetHistoEnergyMax() const { return fHistoPtMax ; }
-
- //Azimuthal angle
- virtual void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoPhiBins = n ;
- fHistoPhiMax = max ;
- fHistoPhiMin = min ;
- }
-
- virtual Int_t GetHistoPhiBins() const { return fHistoPhiBins; }
- virtual Float_t GetHistoPhiMin() const { return fHistoPhiMin ; }
- virtual Float_t GetHistoPhiMax() const { return fHistoPhiMax ; }
-
- //Pseudorapidity-rapidity
- virtual void SetHistoEtaRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoEtaBins = n ;
- fHistoEtaMax = max ;
- fHistoEtaMin = min ;
- }
-
- virtual Int_t GetHistoEtaBins() const { return fHistoEtaBins; }
- virtual Float_t GetHistoEtaMin() const { return fHistoEtaMin ; }
- virtual Float_t GetHistoEtaMax() const { return fHistoEtaMax ; }
-
- //Mass
- virtual void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoMassBins = n ;
- fHistoMassMax = max ;
- fHistoMassMin = min ;
- }
-
- virtual Int_t GetHistoMassBins() const { return fHistoMassBins ; }
- virtual Float_t GetHistoMassMin() const { return fHistoMassMin ; }
- virtual Float_t GetHistoMassMax() const { return fHistoMassMax ; }
-
- //Asymetry
- virtual void SetHistoAsymmetryRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoAsymBins = n ;
- fHistoAsymMax = max ;
- fHistoAsymMin = min ;
- }
-
- virtual Int_t GetHistoAsymmetryBins() const { return fHistoAsymBins ; }
- virtual Float_t GetHistoAsymmetryMin() const { return fHistoAsymMin ; }
- virtual Float_t GetHistoAsymmetryMax() const { return fHistoAsymMax ; }
-
-
- //VZero
- virtual void SetHistoV0SignalRangeAndNBins(Int_t min, Int_t max, Int_t n) {
- fHistoV0SBins = n ;
- fHistoV0SMax = max ;
- fHistoV0SMin = min ;
- }
-
- virtual Int_t GetHistoV0SignalBins() const { return fHistoV0SBins ; }
- virtual Int_t GetHistoV0SignalMin() const { return fHistoV0SMin ; }
- virtual Int_t GetHistoV0SignalMax() const { return fHistoV0SMax ; }
-
- virtual void SetHistoV0MultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n) {
- fHistoV0MBins = n ;
- fHistoV0MMax = max ;
- fHistoV0MMin = min ;
- }
-
- virtual Int_t GetHistoV0MultiplicityBins() const { return fHistoV0MBins ; }
- virtual Int_t GetHistoV0MultiplicityMin() const { return fHistoV0MMin ; }
- virtual Int_t GetHistoV0MultiplicityMax() const { return fHistoV0MMax ; }
-
- virtual void SetHistoTrackMultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n) {
- fHistoTrMBins = n ;
- fHistoTrMMax = max ;
- fHistoTrMMin = min ;
- }
-
- virtual Int_t GetHistoTrackMultiplicityBins() const { return fHistoTrMBins ; }
- virtual Int_t GetHistoTrackMultiplicityMin() const { return fHistoTrMMin ; }
- virtual Int_t GetHistoTrackMultiplicityMax() const { return fHistoTrMMax ; }
-
-
- Int_t GetHistoFinePtBins() const { return fHistoFinePtBins ; }
- Float_t GetHistoFinePtMin() const { return fHistoFinePtMin ; }
- Float_t GetHistoFinePtMax() const { return fHistoFinePtMax ; }
-
- Int_t GetHistodEdxBins() const { return fHistodEdxBins ; }
- Float_t GetHistodEdxMin() const { return fHistodEdxMin ; }
- Float_t GetHistodEdxMax() const { return fHistodEdxMax ; }
-
- Int_t GetHistoNClusterCellBins() const { return fHistoNClusCellBins ; }
- Int_t GetHistoNClusterCellMin() const { return fHistoNClusCellMin ; }
- Int_t GetHistoNClusterCellMax() const { return fHistoNClusCellMax ; }
-
- Int_t GetHistoNClustersBins() const { return fHistoNClustersBins ; }
- Int_t GetHistoNClustersMin() const { return fHistoNClustersMin ; }
- Int_t GetHistoNClustersMax() const { return fHistoNClustersMax ; }
-
- Int_t GetHistoNCellsBins() const { return fHistoNCellsBins ; }
- Int_t GetHistoNCellsMin() const { return fHistoNCellsMin ; }
- Int_t GetHistoNCellsMax() const { return fHistoNCellsMax ; }
-
- Int_t GetHistoPOverEBins() const { return fHistoPOverEBins ; }
- Float_t GetHistoPOverEMin() const { return fHistoPOverEMin ; }
- Float_t GetHistoPOverEMax() const { return fHistoPOverEMax ; }
-
- Int_t GetHistodRBins() const { return fHistodRBins ; }
- Float_t GetHistodRMin() const { return fHistodRMin ; }
- Float_t GetHistodRMax() const { return fHistodRMax ; }
-
- Int_t GetHistoTimeBins() const { return fHistoTimeBins ; }
- Float_t GetHistoTimeMin() const { return fHistoTimeMin ; }
- Float_t GetHistoTimeMax() const { return fHistoTimeMax ; }
-
- Int_t GetHistoRatioBins() const { return fHistoRatioBins ; }
- Float_t GetHistoRatioMin() const { return fHistoRatioMin ; }
- Float_t GetHistoRatioMax() const { return fHistoRatioMax ; }
-
- Int_t GetHistoVertexDistBins() const { return fHistoVertexDistBins ; }
- Float_t GetHistoVertexDistMin() const { return fHistoVertexDistMin ; }
- Float_t GetHistoVertexDistMax() const { return fHistoVertexDistMax ; }
-
- Int_t GetHistoRBins() const { return fHistoRBins ; }
- Float_t GetHistoRMin() const { return fHistoRMin ; }
- Float_t GetHistoRMax() const { return fHistoRMax ; }
-
- Int_t GetHistoXBins() const { return fHistoXBins ; }
- Float_t GetHistoXMin() const { return fHistoXMin ; }
- Float_t GetHistoXMax() const { return fHistoXMax ; }
-
- Int_t GetHistoYBins() const { return fHistoYBins ; }
- Float_t GetHistoYMin() const { return fHistoYMin ; }
- Float_t GetHistoYMax() const { return fHistoYMax ; }
-
- Int_t GetHistoZBins() const { return fHistoZBins ; }
- Float_t GetHistoZMin() const { return fHistoZMin ; }
- Float_t GetHistoZMax() const { return fHistoZMax ; }
-
- Int_t GetHistoShowerShapeBins() const { return fHistoSSBins ; }
- Float_t GetHistoShowerShapeMin() const { return fHistoSSMin ; }
- Float_t GetHistoShowerShapeMax() const { return fHistoSSMax ; }
-
- Int_t GetHistoDiffTimeBins() const { return fHistoDiffTimeBins ; }
- Float_t GetHistoDiffTimeMin() const { return fHistoDiffTimeMin ; }
- Float_t GetHistoDiffTimeMax() const { return fHistoDiffTimeMax ; }
-
-
- virtual void SetHistoPOverERangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoPOverEBins = n ; fHistoPOverEMax = max ; fHistoPOverEMin = min ; }
-
- virtual void SetHistoFinePtRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoFinePtBins = n ; fHistoFinePtMax = max ; fHistoFinePtMin = min ; }
-
- virtual void SetHistodEdxRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistodEdxBins = n ; fHistodEdxMax = max ; fHistodEdxMin = min ; }
-
- virtual void SetHistodRRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistodRBins = n ; fHistodRMax = max ; fHistodRMin = min ; }
-
- virtual void SetHistoTimeRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoTimeBins = n ; fHistoTimeMax = max ; fHistoTimeMin = min ; }
-
- virtual void SetHistoNClusterCellRangeAndNBins(Int_t min, Int_t max, Int_t n) {
- fHistoNClusCellBins = n ; fHistoNClusCellMax = max ; fHistoNClusCellMin = min ; }
-
- virtual void SetHistoNClustersRangeAndNBins (Int_t min, Int_t max, Int_t n) {
- fHistoNClustersBins = n ; fHistoNClustersMax = max ; fHistoNClustersMin = min ; }
-
- virtual void SetHistoNCellsRangeAndNBins (Int_t min, Int_t max, Int_t n) {
- fHistoNCellsBins = n ; fHistoNCellsMax = max ; fHistoNCellsMin = min ; }
-
- virtual void SetHistoRatioRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoRatioBins = n ; fHistoRatioMax = max ; fHistoRatioMin = min ; }
-
- virtual void SetHistoVertexDistRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoVertexDistBins = n ; fHistoVertexDistMax = max ; fHistoVertexDistMin = min ; }
-
- virtual void SetHistoXRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoXBins = n ; fHistoXMax = max ; fHistoXMin = min ; }
-
- virtual void SetHistoYRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoYBins = n ; fHistoYMax = max ; fHistoYMin = min ; }
-
- virtual void SetHistoZRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoZBins = n ; fHistoZMax = max ; fHistoZMin = min ; }
-
- virtual void SetHistoRRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoRBins = n ; fHistoRMax = max ; fHistoRMin = min ; }
-
- virtual void SetHistoShowerShapeRangeAndNBins (Float_t min, Float_t max, Int_t n) {
- fHistoSSBins = n ; fHistoSSMax = max ; fHistoSSMin = min ; }
-
- void SetHistoDiffTimeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
- fHistoDiffTimeBins = n ; fHistoDiffTimeMax = max ; fHistoDiffTimeMin = min ; }
-
- void SwitchOnPlotsMaking() { fMakePlots = kTRUE ; }
- void SwitchOffPlotsMaking() { fMakePlots = kFALSE ; }
- Bool_t MakePlotsOn() const { return fMakePlots ; }
-
-private:
-
- Bool_t fDataMC ; // Flag to access MC data when using ESD or AOD
- Int_t fDebug ; // Debug level
- Bool_t fCheckFidCut ; // Do analysis for clusters in defined region
- Bool_t fCheckCaloPID ; // Do analysis for calorimeters
- Bool_t fRecalculateCaloPID ; // Recalculate PID or use PID weights in calorimeters
- Float_t fMinPt ; // Maximum pt of (trigger) particles in the analysis
- Float_t fMaxPt ; // Minimum pt of (trigger) particles in the analysis
- Float_t fPairTimeCut; // Maximum difference between time of cluster pairs (ns)
- Int_t fMultiBin ; // Number of bins in event container for multiplicity
- Int_t fNZvertBin ; // Number of bins in event container for vertex position
- Int_t fNrpBin ; // Number of bins in event container for reaction plain
- Int_t fNCentrBin ; // Number of bins in event container for centrality
- Int_t fNmaxMixEv ; // Maximal number of events stored in buffer for mixing
- Int_t fMaxMulti ; // Maximum multiplicity of particles in the analysis
- Int_t fMinMulti ; // Maximum multiplicity of particles in the analysis
- Bool_t fUseSelectEvent ; // Select events based on multiplicity and vertex cuts
- Bool_t fMakePlots ; // Print plots
-
-
- AliCaloTrackReader * fReader; // Acces to ESD/AOD/MC data
-
- TClonesArray* fInputAODBranch ; //! Selected input particles branch
- TString fInputAODName ; // Name of input AOD branch;
- TClonesArray* fOutputAODBranch ; //! Selected output particles branch
- Bool_t fNewAOD ; // Flag, new aod branch added to the analysis or not.
- TString fOutputAODName ; // Name of output AOD branch;
- TString fOutputAODClassName; // Type of aod objects to be stored in the TClonesArray (AliAODPWG4Particle, AliAODPWG4ParticleCorrelation ...)
- TString fAODObjArrayName ; // Name of ref array kept in a TList in AliAODParticleCorrelation with clusters or track references.
- TString fAddToHistogramsName;// Add this string to histograms name
-
- //Analysis helper classes access pointers
- AliCaloPID * fCaloPID; // PID calculation
- AliFiducialCut * fFidCut; // Acceptance cuts
- AliIsolationCut * fIC; // Isolation cut
- AliMCAnalysisUtils * fMCUtils; // MonteCarlo Analysis utils
- AliNeutralMesonSelection * fNMS; // Neutral Meson Selection
- AliCalorimeterUtils * fCaloUtils ; // Pointer to CalorimeterUtils
-
- //Histograms binning and range
- Int_t fHistoPtBins ; // Number of bins in pt axis
- Float_t fHistoPtMax ; // Maximum value of pt histogram range
- Float_t fHistoPtMin ; // Minimum value of pt histogram range
- Int_t fHistoPhiBins ; // Number of bins in phi axis
- Float_t fHistoPhiMax ; // Maximum value of phi histogram range
- Float_t fHistoPhiMin ; // Minimum value of phi histogram range
- Int_t fHistoEtaBins ; // Number of bins in eta axis
- Float_t fHistoEtaMax ; // Maximum value of eta histogram range
- Float_t fHistoEtaMin ; // Minimum value of eta histogram range
- Int_t fHistoMassBins ; // Number of bins in mass axis
- Float_t fHistoMassMax ; // Maximum value of mass histogram range
- Float_t fHistoMassMin ; // Minimum value of mass histogram range
- Int_t fHistoAsymBins ; // Number of bins in asymmetry axis
- Float_t fHistoAsymMax ; // Maximum value of asymmetry histogram range
- Float_t fHistoAsymMin ; // Minimum value of asymmetry histogram range
- Int_t fHistoV0SBins ; // Number of bins in V0 signal axis
- Int_t fHistoV0SMax ; // Maximum value of V0 signal histogram range
- Int_t fHistoV0SMin ; // Minimum value of V0 signal histogram range
- Int_t fHistoV0MBins ; // Number of bins in V0 multiplicity axis
- Int_t fHistoV0MMax ; // Maximum value of V0 multiplicity histogram range
- Int_t fHistoV0MMin ; // Minimum value of V0 multiplicity histogram range
- Int_t fHistoTrMBins ; // Number of bins in V0 multiplicity axis
- Int_t fHistoTrMMax ; // Maximum value of track multiplicity histogram range
- Int_t fHistoTrMMin ; // Minimum value of track multiplicity histogram range
- Int_t fHistoFinePtBins; // fine binning for fhAmpId histogram
- Float_t fHistoFinePtMax; // maximum pt value for fhAmpId histogram
- Float_t fHistoFinePtMin; // minimum pt value for fhAmpId histogram
- Int_t fHistoPOverEBins; // p/E histogram number of bins
- Float_t fHistoPOverEMax; // p/E maximum value
- Float_t fHistoPOverEMin; // p/E minimum value
- Int_t fHistodEdxBins; // dEdx histogram number of bins
- Float_t fHistodEdxMax; // dEdx maximum value
- Float_t fHistodEdxMin; // dEdx minimum value
- Int_t fHistodRBins; // dR histogram number of bins
- Float_t fHistodRMax; // dR maximum value
- Float_t fHistodRMin; // dR minimum value
- Int_t fHistoTimeBins; // cell time histogram number of bins
- Float_t fHistoTimeMax; // cell time maximum value
- Float_t fHistoTimeMin; // cell time minimum value
- Int_t fHistoNClusCellBins; // number of cells per cluster histogram number of bins
- Int_t fHistoNClusCellMax; // number of cells per cluster maximum value
- Int_t fHistoNClusCellMin; // number of cells per cluster minimum value
- Int_t fHistoNCellsBins; // number of cells histogram number of bins
- Int_t fHistoNCellsMax; // number of cells maximum value
- Int_t fHistoNCellsMin; // number of cells minimum value
- Int_t fHistoNClustersBins; // number of clusters histogram number of bins
- Int_t fHistoNClustersMax; // number of clusters maximum value
- Int_t fHistoNClustersMin; // number of clusters minimum value
- Int_t fHistoRatioBins; // ratio histogram number of bins
- Float_t fHistoRatioMax; // ratio maximum value
- Float_t fHistoRatioMin; // ratio minimum value
- Int_t fHistoVertexDistBins; // vertex distance histogram number of bins
- Float_t fHistoVertexDistMax; // vertex distance maximum value
- Float_t fHistoVertexDistMin; // vertex distance minimum value
- Int_t fHistoRBins; // r =sqrt(x^2+y^2+z^2) (cm) position histogram number of bins
- Float_t fHistoRMax; // r =sqrt(x^2+y^2+z^2) (cm) maximum value
- Float_t fHistoRMin; // r =sqrt(x^2+y^2+z^2) (cm) minimum value
- Int_t fHistoXBins; // x (cm) position histogram number of bins
- Float_t fHistoXMax; // x (cm) position maximum value
- Float_t fHistoXMin; // x (cm) position minimum value
- Int_t fHistoYBins; // y (cm) position histogram number of bins
- Float_t fHistoYMax; // y (cm) position maximum value
- Float_t fHistoYMin; // y (cm) position minimum value
- Int_t fHistoZBins; // z (cm) position histogram number of bins
- Float_t fHistoZMax; // z (cm) position maximum value
- Float_t fHistoZMin; // z (cm) position minimum value
- Int_t fHistoSSBins; // Shower Shape parameter histogram number of bins
- Float_t fHistoSSMax; // Shower Shape parameter position maximum value
- Float_t fHistoSSMin; // Shower Shape parameter position minimum value
- Int_t fHistoDiffTimeBins; // Difference cluster pair time parameter histogram number of bins
- Float_t fHistoDiffTimeMax; // Difference cluster pair time parameter position maximum value
- Float_t fHistoDiffTimeMin; // Difference cluster pair time parameter position minimum value
-
- ClassDef(AliAnaPartCorrBaseClass,19)
-} ;
-
-
-#endif //ALIANAPARTCORRBASECLASS_H
-
-
-
+++ /dev/null
-/**************************************************************************
- * 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: $ */
-
-//_________________________________________________________________________
-// Steering class for particle (gamma, hadron) identification and correlation analysis
-// It is called by the task class AliAnalysisTaskParticleCorrelation and it connects the input
-// (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TClonesArrays of AODs
-// (TParticles in MC case if requested)), with the
-// analysis classes that derive from AliAnaPartCorrBaseClass
-//
-// -- Author: Gustavo Conesa (INFN-LNF)
-
-#include <cstdlib>
-
-// --- ROOT system ---
-#include "TClonesArray.h"
-#include "TList.h"
-#include "TH1I.h"
-//#include "Riostream.h"
-//#include <TObjectTable.h>
-
-//---- AliRoot system ----
-#include "AliAnalysisManager.h"
-#include "AliVEventHandler.h"
-#include "AliAnaPartCorrBaseClass.h"
-#include "AliAnaPartCorrMaker.h"
-
-ClassImp(AliAnaPartCorrMaker)
-
-
-//____________________________________________________________________________
-AliAnaPartCorrMaker::AliAnaPartCorrMaker() :
-TObject(),
-fOutputContainer(new TList ), fAnalysisContainer(new TList ),
-fMakeHisto(kFALSE), fMakeAOD(kFALSE), fAnaDebug(0),
-fReader(0), fCaloUtils(0),
-fCuts(new TList), fhNEvents(0x0), fhTrackMult(0x0)
-{
- //Default Ctor
- if(fAnaDebug > 1 ) printf("*** Analysis Maker Constructor *** \n");
-
- //Initialize parameters, pointers and histograms
- InitParameters();
-}
-
-//____________________________________________________________________________
-AliAnaPartCorrMaker::AliAnaPartCorrMaker(const AliAnaPartCorrMaker & maker) :
-TObject(),
-fOutputContainer(new TList()), fAnalysisContainer(new TList()),
-fMakeHisto(maker.fMakeHisto), fMakeAOD(maker.fMakeAOD),
-fAnaDebug(maker.fAnaDebug),
-fReader(),//new AliCaloTrackReader(*maker.fReader)),
-fCaloUtils(),//(new AliCalorimeterUtils(*maker.fCaloUtils)),
-fCuts(new TList()),fhNEvents(maker.fhNEvents) ,fhTrackMult(maker.fhTrackMult)
-{
- // cpy ctor
-
-}
-
-//_________________________________________________________________________
-//AliAnaPartCorrMaker & AliAnaPartCorrMaker::operator = (const AliAnaPartCorrMaker & source)
-//{
-// // assignment operator
-//
-// if(this == &source)return *this;
-// ((TObject *)this)->operator=(source);
-//
-// delete fOutputContainer; fOutputContainer = source.fOutputContainer ;
-// delete fAnalysisContainer; fAnalysisContainer = source.fAnalysisContainer ;
-// fAnaDebug = source.fAnaDebug;
-// fMakeHisto = source.fMakeHisto;
-// fMakeAOD = source.fMakeAOD;
-//
-// delete fReader ; fReader = new AliCaloTrackReader(*source.fReader) ;
-// delete fAODBranchList; fAODBranchList = source.fAODBranchList;
-//
-// return *this;
-//
-//}
-
-//____________________________________________________________________________
-AliAnaPartCorrMaker::~AliAnaPartCorrMaker()
-{
- // Remove all owned pointers.
-//printf("======Delete Maker \n");
-
-// Do not delete it here, already done somewhere else, need to understand where.
-// if (fOutputContainer) {
-// fOutputContainer->Clear();
-// delete fOutputContainer ;
-// }
-
- if (fAnalysisContainer) {
- fAnalysisContainer->Delete();
- delete fAnalysisContainer ;
- }
-
- if (fReader) delete fReader ;
- if (fCaloUtils) delete fCaloUtils ;
-
- if(fCuts){
- fCuts->Delete();
- delete fCuts;
- }
-
-// printf("====== Maker deleted \n");
-}
-
-//________________________________________________________________________
-TList * AliAnaPartCorrMaker::GetListOfAnalysisCuts()
-{
-
- // Get the list of the cuts used for the analysis
- // The list is filled in the maker, called by the task in LocalInit() and posted there
- //printf("GetListOfAnalysis! \n");
-
- for(Int_t iana = 0; iana < fAnalysisContainer->GetEntries(); iana++){
- AliAnaPartCorrBaseClass * ana = ((AliAnaPartCorrBaseClass *) fAnalysisContainer->At(iana)) ;
- TObjString * objstring = ana->GetAnalysisCuts();
- //printf("analysis %d cuts %p\n",iana,objstring);
- if(objstring)fCuts->Add(objstring);
- }
- //printf("Maker::GetEntries() %d\n",fCuts->GetEntries());
- return fCuts ;
-
-}
-
-//________________________________________________________________________
-TList * AliAnaPartCorrMaker::FillAndGetAODBranchList()
-{
-
- // Get any new output AOD branches from analysis and put them in a list
- // The list is filled in the maker, and new branch passed to the analysis frame
- // AliAnalysisTaskPartCorr
-
- TList *aodBranchList = fReader->GetAODBranchList() ;
-
- for(Int_t iana = 0; iana < fAnalysisContainer->GetEntries(); iana++){
-
- AliAnaPartCorrBaseClass * ana = ((AliAnaPartCorrBaseClass *) fAnalysisContainer->At(iana)) ;
- if(ana->NewOutputAOD()) aodBranchList->Add(ana->GetCreateOutputAODBranch());
-
- }
-
- return aodBranchList ;
-
-}
-
-//________________________________________________________________________
-TList *AliAnaPartCorrMaker::GetOutputContainer()
-{
- // Fill the output list of histograms during the CreateOutputObjects stage.
-
- //Initialize calorimeters geometry pointers
- GetCaloUtils()->InitPHOSGeometry();
- GetCaloUtils()->InitEMCALGeometry();
-
- if(!fAnalysisContainer || fAnalysisContainer->GetEntries()==0){
- printf("AliAnaPartCorrMaker::GetOutputContainer() - Analysis job list not initialized!!!\n");
- //abort();
- }
- else{
- const Int_t buffersize = 255;
- char newname[255];
- for(Int_t iana = 0; iana < fAnalysisContainer->GetEntries(); iana++){
- AliAnaPartCorrBaseClass * ana = ((AliAnaPartCorrBaseClass *) fAnalysisContainer->At(iana)) ;
- if(fMakeHisto){// Analysis with histograms as output on
- //Fill container with appropriate histograms
- TList * templist = ana ->GetCreateOutputObjects();
- templist->SetOwner(kFALSE); //Owner is fOutputContainer.
- for(Int_t i = 0; i < templist->GetEntries(); i++){
-
- //Add only to the histogram name the name of the task
- if( strcmp((templist->At(i))->ClassName(),"TObjString") ) {
- snprintf(newname,buffersize, "%s%s", (ana->GetAddedHistogramsStringToName()).Data(), (templist->At(i))->GetName());
- ((TH1*) templist->At(i))->SetName(newname);
- }
- //Add histogram to general container
- fOutputContainer->Add(templist->At(i)) ;
- }
- delete templist;
- }// Analysis with histograms as output on
- }//Loop on analysis defined
- }//Analysis list available
-
- //General event histograms
-
- fhNEvents = new TH1I("hNEvents", "Number of analyzed events" , 1 , 0 , 1 ) ;
- fOutputContainer->Add(fhNEvents);
- fhTrackMult = new TH1I("hTrackMult", "Number of tracks per events" , 2000 , 0 , 2000 ) ;
- fOutputContainer->Add(fhTrackMult);
-
- return fOutputContainer;
-
-}
-
-//________________________________________________________________________
-void AliAnaPartCorrMaker::Init()
-{
- //Init container histograms and other common variables
- // Fill the output list of histograms during the CreateOutputObjects stage.
-
- //Initialize reader
- GetReader()->Init();
- GetReader()->SetCaloUtils(GetCaloUtils()); // pass the calo utils pointer to the reader
-
-
- if(!fAnalysisContainer || fAnalysisContainer->GetEntries()==0){
- printf("AliAnaPartCorrMaker::GetOutputInit() - Analysis job list not initialized!!!\n");
- //abort();
- }
- else{
-
- for(Int_t iana = 0; iana < fAnalysisContainer->GetEntries(); iana++){
-
- AliAnaPartCorrBaseClass * ana = ((AliAnaPartCorrBaseClass *) fAnalysisContainer->At(iana)) ;
- ana->SetReader(fReader); //SetReader for each analysis
- ana->SetCaloUtils(fCaloUtils); //Set CaloUtils for each analysis
-
- ana->Init();
-
- }//Loop on analysis defined
- }//Analysis list available
-}
-
-//____________________________________________________________________________
-void AliAnaPartCorrMaker::InitParameters()
-{
- //Init data members
-
- fMakeHisto = kTRUE;
- fMakeAOD = kTRUE;
- fAnaDebug = 0; // No debugging info displayed by default
-
-}
-
-//__________________________________________________________________
-void AliAnaPartCorrMaker::Print(const Option_t * opt) const
-{
- //Print some relevant parameters set for the analysis
-
- if(! opt)
- return;
-
- printf("***** Print: %s %s ******\n", GetName(), GetTitle() ) ;
- printf("Debug level = %d\n", fAnaDebug) ;
- printf("Produce Histo = %d\n", fMakeHisto) ;
- printf("Produce AOD = %d\n", fMakeAOD) ;
- printf("Number of analysis tasks = %d\n", fAnalysisContainer->GetEntries()) ;
- if(!strcmp("all",opt)){
- printf("Print analysis Tasks settings :\n") ;
- for(Int_t iana = 0; iana<fAnalysisContainer->GetEntries(); iana++){
- ((AliAnaPartCorrBaseClass *) fAnalysisContainer->At(iana))->Print("");
- }
-
- printf("Print analysis Reader settings :\n") ;
- fReader->Print("");
- printf("Print analysis Calorimeter Utils settings :\n") ;
- fCaloUtils->Print("");
- }
-}
-
-
-//____________________________________________________________________________
-void AliAnaPartCorrMaker::ProcessEvent(const Int_t iEntry, const char * currentFileName){
- //Process analysis for this event
-
- if(fMakeHisto && !fOutputContainer){
- printf("AliAnaPartCorrMaker::ProcessEvent() - Histograms not initialized\n");
- abort();
- }
-
- if(fAnaDebug >= 0 ){
- printf("*** AliAnaPartCorrMaker::ProcessEvent() Event %d *** \n",iEntry);
- if(fAnaDebug > 1 ) {
- printf("AliAnaPartCorrMaker::ProcessEvent() - Current File Name : %s\n", currentFileName);
- //printf("fAODBranchList %p, entries %d\n",fAODBranchList,fAODBranchList->GetEntries());
- }
- }
-
- //Each event needs an empty branch
- TList * aodList = fReader->GetAODBranchList();
- Int_t nAODBranches = aodList->GetEntries();
- for(Int_t iaod = 0; iaod < nAODBranches; iaod++){
- TClonesArray *tca = dynamic_cast<TClonesArray*> (aodList->At(iaod));
- if(tca) tca->Clear("C");
- }
-
- //Set geometry matrices before filling arrays, in case recalibration/position calculation etc is needed
- fCaloUtils->SetGeometryTransformationMatrices(fReader->GetInputEvent());
-
- //Tell the reader to fill the data in the 3 detector lists
- Bool_t ok = fReader->FillInputEvent(iEntry, currentFileName);
- if(!ok){
- if(fAnaDebug >= 1 )printf("*** Skip event *** %d \n",iEntry);
- return ;
- }
-
- //Magic line to write events to file
- if(fReader->WriteDeltaAODToFile())AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()->SetFillAOD(kTRUE);
-
- //printf(">>>>>>>>>> BEFORE >>>>>>>>>>>\n");
- //gObjectTable->Print();
- //Loop on analysis algorithms
- if(fAnaDebug > 0 ) printf("*** Begin analysis *** \n");
- Int_t nana = fAnalysisContainer->GetEntries() ;
- for(Int_t iana = 0; iana < nana; iana++){
- AliAnaPartCorrBaseClass * ana = ((AliAnaPartCorrBaseClass *) fAnalysisContainer->At(iana)) ;
-
- ana->ConnectInputOutputAODBranches(); //Sets branches for each analysis
- //Make analysis, create aods in aod branch or AODCaloClusters
- if(fMakeAOD ) ana->MakeAnalysisFillAOD() ;
- //Make further analysis with aod branch and fill histograms
- if(fMakeHisto) ana->MakeAnalysisFillHistograms() ;
-
- }
-
- fhNEvents->Fill(0); //Event analyzed
- fhTrackMult->Fill(fReader->GetTrackMultiplicity());
-
- fReader->ResetLists();
-
- //printf(">>>>>>>>>> AFTER >>>>>>>>>>>\n");
- //gObjectTable->Print();
-
- if(fAnaDebug > 0 ) printf("*** End analysis *** \n");
-
-}
-
-//________________________________________________________________________
-void AliAnaPartCorrMaker::Terminate(TList * outputList)
-{
- //Execute Terminate of analysis
- //Do some final plots.
-
- if (!outputList) {
- Error("Terminate", "No output list");
- return;
- }
-
- for(Int_t iana = 0; iana < fAnalysisContainer->GetEntries(); iana++){
-
- AliAnaPartCorrBaseClass * ana = ((AliAnaPartCorrBaseClass *) fAnalysisContainer->At(iana)) ;
- if(ana->MakePlotsOn())ana->Terminate(outputList);
-
- }//Loop on analysis defined
-}
+++ /dev/null
-#ifndef ALIANAPARTCORRMAKER_H
-#define ALIANAPARTCORRMAKER_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-/* $Id: $ */
-
-//_________________________________________________________________________
-// Steering class for particle (gamma, hadron) identification and correlation analysis
-// It is called by the task class AliAnalysisTaskParticleCorrelation and it connects the input
-// (ESD/AOD/MonteCarlo) got with AliCaloTrackReader (produces TObjArrays of AODs
-// (TParticles in MC case if requested)), with the
-// analysis classes that derive from AliAnaPartCorrBaseClass
-//
-// -- Author: Gustavo Conesa (INFN-LNF)
-
-// --- ROOT system ---
-class TList;
-class TClonesArray;
-#include<TObject.h>
-class TH1I;
-
-// --- Analysis system ---
-#include "AliCaloTrackReader.h"
-#include "AliCalorimeterUtils.h"
-
-class AliAnaPartCorrMaker : public TObject {
-
- public:
- AliAnaPartCorrMaker() ; // default ctor
- virtual ~AliAnaPartCorrMaker() ; //virtual dtor
- AliAnaPartCorrMaker(const AliAnaPartCorrMaker & maker) ; // cpy ctor
-
- private:
- AliAnaPartCorrMaker & operator = (const AliAnaPartCorrMaker & ) ;//cpy assignment
-
- public:
-
- //Setter and getters
- TList * GetListOfAnalysisCuts();
- TList * GetOutputContainer() ;
-
- TList * FillAndGetAODBranchList();
-
- Int_t GetAnaDebug() const { return fAnaDebug ; }
- void SetAnaDebug(Int_t d) { fAnaDebug = d ; }
-
- Bool_t AreHistogramsMade() const { return fMakeHisto ; }
- void SwitchOnHistogramsMaker() { fMakeHisto = kTRUE ; }
- void SwitchOffHistogramsMaker() { fMakeHisto = kFALSE ; }
-
- Bool_t AreAODsMade() const { return fMakeAOD ; }
- void SwitchOnAODsMaker() { fMakeAOD = kTRUE ; }
- void SwitchOffAODsMaker() { fMakeAOD = kFALSE ; }
-
- void Terminate(TList * outputList);
-
- void AddAnalysis(TObject* ana, Int_t n) {
- if ( fAnalysisContainer) fAnalysisContainer->AddAt(ana,n);
- else { printf("AliAnaPartCorrMaker::AddAnalysis() - AnalysisContainer not initialized\n");
- abort();}
- }
-
- AliCaloTrackReader * GetReader() {if(!fReader) fReader = new AliCaloTrackReader ();return fReader ; }
- void SetReader(AliCaloTrackReader * reader) { fReader = reader ; }
-
- AliCalorimeterUtils * GetCaloUtils() {if(!fCaloUtils) fCaloUtils = new AliCalorimeterUtils(); return fCaloUtils ; }
- void SetCaloUtils(AliCalorimeterUtils * caloutils) { fCaloUtils = caloutils ; }
-
- //Others
- void Init();
- void InitParameters();
-
- void Print(const Option_t * opt) const;
-
- void ProcessEvent(const Int_t iEntry, const char * currentFileName) ;
-
- private:
-
- //General Data members
-
- TList * fOutputContainer ; //! Output histograms container
- TList * fAnalysisContainer ; // List with analysis pointers
- Bool_t fMakeHisto ; // If true makes final analysis with histograms as output
- Bool_t fMakeAOD ; // If true makes analysis generating AODs
- Int_t fAnaDebug; // Debugging info.
-
- AliCaloTrackReader * fReader ; // Pointer to reader
- AliCalorimeterUtils * fCaloUtils ; // Pointer to CalorimeterUtils
-
- TList * fCuts ; //! List with analysis cuts
-
- TH1I * fhNEvents; //! Number of events counter histogram
- TH1I * fhTrackMult; //! Number of tracks per event histogram
-
- ClassDef(AliAnaPartCorrMaker,8)
-} ;
-
-
-#endif //ALIANAPARTCORRMAKER_H
-
-
-
--- /dev/null
+/**************************************************************************
+ * 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. *
+ **************************************************************************/
+
+//_________________________________________________________________________
+// Class containing histogram settings:
+// - Number of bins
+// - Min and max of range
+//
+//-- Author: Gustavo Conesa (LPSC-Grenoble)
+//
+
+#include "TMath.h"
+
+#include "AliHistogramRanges.h"
+
+ClassImp(AliHistogramRanges)
+
+
+//_______________________________________________
+AliHistogramRanges::AliHistogramRanges() :
+TObject(),
+fHistoPtBins(0), fHistoPtMax(0.), fHistoPtMin(0.),
+fHistoPhiBins(0), fHistoPhiMax(0.), fHistoPhiMin(0.),
+fHistoEtaBins(0), fHistoEtaMax(0.), fHistoEtaMin(0.),
+fHistoMassBins(0), fHistoMassMax(0.), fHistoMassMin(0.),
+fHistoAsymBins(0), fHistoAsymMax(0.), fHistoAsymMin(0.),
+fHistoV0SBins(0), fHistoV0SMax(0), fHistoV0SMin(0),
+fHistoV0MBins(0), fHistoV0MMax(0), fHistoV0MMin(0),
+fHistoTrMBins(0), fHistoTrMMax(0), fHistoTrMMin(0),
+fHistoFinePtBins(1000), fHistoFinePtMax(5.), fHistoFinePtMin(0.),
+fHistoPOverEBins(100), fHistoPOverEMax(100.), fHistoPOverEMin(0.),
+fHistodEdxBins(100), fHistodEdxMax(100.), fHistodEdxMin(0.),
+fHistodRBins(100), fHistodRMax(100.), fHistodRMin(0.),
+fHistoTimeBins(100), fHistoTimeMax(100.), fHistoTimeMin(0.),
+fHistoNClusCellBins(100), fHistoNClusCellMax(100), fHistoNClusCellMin(0),
+fHistoNCellsBins(100), fHistoNCellsMax(100), fHistoNCellsMin(0),
+fHistoNClustersBins(100), fHistoNClustersMax(100), fHistoNClustersMin(0),
+fHistoRatioBins(100), fHistoRatioMax(100.), fHistoRatioMin(0.),
+fHistoVertexDistBins(100), fHistoVertexDistMax(100.), fHistoVertexDistMin(0.),
+fHistoRBins(100), fHistoRMax(1000), fHistoRMin(-1000),
+fHistoXBins(100), fHistoXMax(1000), fHistoXMin(-1000),
+fHistoYBins(100), fHistoYMax(1000), fHistoYMin(-1000),
+fHistoZBins(100), fHistoZMax(1000), fHistoZMin(-1000),
+fHistoSSBins(0), fHistoSSMax(0), fHistoSSMin(0),
+fHistoDiffTimeBins(0), fHistoDiffTimeMax(0), fHistoDiffTimeMin(0)
+{
+ //Default Ctor
+
+ //Initialize parameters
+ InitParameters();
+
+}
+
+//_______________________________________
+void AliHistogramRanges::InitParameters()
+{
+ //Initialize histogram parameters
+
+ fHistoPtBins = 240 ; fHistoPtMax = 120 ; fHistoPtMin = 0. ;
+ fHistoPhiBins = 120 ; fHistoPhiMax = TMath::TwoPi(); fHistoPhiMin = 0. ;
+ fHistoEtaBins = 100 ; fHistoEtaMax = 1 ; fHistoEtaMin = -1 ;
+ fHistoMassBins = 200 ; fHistoMassMax = 1. ; fHistoMassMin = 0. ;
+ fHistoAsymBins = 10 ; fHistoAsymMax = 1. ; fHistoAsymMin = 0. ;
+ fHistoV0SBins = 100 ; fHistoV0SMax = 10000 ; fHistoV0SMin = 0 ;
+ fHistoV0MBins = 100; fHistoV0MMax = 10000 ; fHistoV0MMin = 0 ;
+ fHistoTrMBins = 100 ; fHistoTrMMax = 2000 ; fHistoTrMMin = 0 ;
+ fHistoPOverEBins = 100 ; fHistoPOverEMax = 10. ; fHistoPOverEMin = 0. ;
+ fHistodEdxBins = 200 ; fHistodEdxMax = 400. ; fHistodEdxMin = 0. ;
+ fHistodRBins = 300 ; fHistodRMax = 3.15 ; fHistodRMin = 0. ;
+ fHistoTimeBins = 1000; fHistoTimeMax = 1.e3 ; fHistoTimeMin = 0. ;//ns
+ fHistoNClusCellBins = 200 ; fHistoNClusCellMax = 200 ; fHistoNClusCellMin = 0 ;
+ fHistoNCellsBins = 300 ; fHistoNCellsMax = 300 ; fHistoNCellsMin = 0 ;
+ fHistoNClustersBins = 50 ; fHistoNClustersMax = 50 ; fHistoNClustersMin = 0 ;
+ fHistoRatioBins = 200 ; fHistoRatioMax = 2 ; fHistoRatioMin = 0. ;
+ fHistoVertexDistBins = 100 ; fHistoVertexDistMax = 500. ; fHistoVertexDistMin = 0. ;
+ fHistoRBins = 100 ; fHistoRMax = 500 ; fHistoRMin = -500;//cm
+ fHistoXBins = 100 ; fHistoXMax = 500 ; fHistoXMin = -500;//cm
+ fHistoYBins = 100 ; fHistoYMax = 500 ; fHistoYMin = -500;//cm
+ fHistoZBins = 100 ; fHistoZMax = 600 ; fHistoZMin = -500;//cm
+ fHistoSSBins = 500 ; fHistoSSMax = 5 ; fHistoSSMin = 0 ;
+ fHistoDiffTimeBins = 800 ; fHistoDiffTimeMax = 400 ; fHistoDiffTimeMin = -400;// ns
+
+}
+
+//________________________________________________________
+void AliHistogramRanges::Print(const Option_t * /*opt*/) const
+{
+ //Print some relevant parameters set for the analysis
+
+ printf("Histograms: %3.1f < pT < %3.1f, Nbin = %d\n", fHistoPtMin, fHistoPtMax, fHistoPtBins);
+ printf("Histograms: %3.1f < phi < %3.1f, Nbin = %d\n", fHistoPhiMin, fHistoPhiMax, fHistoPhiBins);
+ printf("Histograms: %3.1f < eta < %3.1f, Nbin = %d\n", fHistoEtaMin, fHistoEtaMax, fHistoEtaBins);
+ printf("Histograms: %3.1f < mass < %3.1f, Nbin = %d\n", fHistoMassMin, fHistoMassMax, fHistoMassBins);
+ printf("Histograms: %3.1f < asymmetry < %3.1f, Nbin = %d\n", fHistoAsymMin, fHistoAsymMax, fHistoAsymBins);
+ printf("Histograms: %d < V0 Signal < %d, Nbin = %d\n", fHistoV0SMin, fHistoV0SMax, fHistoV0SBins);
+ printf("Histograms: %d < V0 Mult < %d, Nbin = %d\n", fHistoV0MMin, fHistoV0MMax, fHistoV0MBins);
+ printf("Histograms: %d < Track Mult < %d, Nbin = %d\n", fHistoTrMMin, fHistoTrMMax, fHistoTrMBins);
+ printf("Histograms: %3.1f < p/E < %3.1f, Nbin = %d\n", fHistoPOverEMin, fHistoPOverEMax, fHistoPOverEBins);
+ printf("Histograms: %3.1f < dEdx < %3.1f, Nbin = %d\n", fHistodEdxMin, fHistodEdxMax, fHistodEdxBins);
+ printf("Histograms: %3.1f < dR (track cluster) < %3.1f, Nbin = %d\n", fHistodRMin, fHistodRMax, fHistodRBins);
+ printf("Histograms: %3.1f < R=sqrt{x^2+y^2} < %3.1f, Nbin = %d\n", fHistoRMin, fHistoRMax, fHistoRBins);
+ printf("Histograms: %3.1f < X < %3.1f, Nbin = %d\n", fHistoXMin, fHistoXMax, fHistoXBins);
+ printf("Histograms: %3.1f < Y < %3.1f, Nbin = %d\n", fHistoYMin, fHistoYMax, fHistoYBins);
+ printf("Histograms: %3.1f < Z < %3.1f, Nbin = %d\n", fHistoZMin, fHistoZMax, fHistoZBins);
+ printf("Histograms: %g < Time < %g, Nbin = %d\n" , fHistoTimeMin, fHistoTimeMax, fHistoTimeBins);
+ printf("Histograms: %d < N cells per cluster < %d, Nbin = %d\n", fHistoNClusCellMin, fHistoNClusCellMax, fHistoNClusCellBins);
+ printf("Histograms: %d < N cells < %d, Nbin = %d\n" , fHistoNCellsMin, fHistoNCellsMax, fHistoNCellsBins);
+ printf("Histograms: %d < N clusters < %d, Nbin = %d\n" , fHistoNClustersMin, fHistoNClustersMax, fHistoNClustersBins);
+ printf("Histograms: %3.1f < Ratio< %3.1f, Nbin = %d\n", fHistoRatioMin, fHistoRatioMax, fHistoRatioBins);
+ printf("Histograms: %3.1f < Vertex Distance < %3.1f, Nbin = %d\n", fHistoVertexDistMin, fHistoVertexDistMax, fHistoVertexDistBins);
+
+ printf(" \n") ;
+
+}
+
+
+
--- /dev/null
+#ifndef ALIHISTOGRAMRANGES_H
+#define ALIHISTOGRAMRANGES_H
+
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+//_________________________________________________________________________
+// Class containing histogram settings:
+// - Number of bins
+// - Min and max of range
+//
+//-- Author: Gustavo Conesa (LPSC-Grenoble)
+//
+
+//ROOT
+#include <TObject.h>
+
+class AliHistogramRanges : public TObject {
+
+public:
+
+ AliHistogramRanges() ; // default ctor
+ virtual ~AliHistogramRanges() { ; } // dtor
+
+ void InitParameters() ;
+
+ void Print(const Option_t * ) const ;
+
+ //Pt, Energy
+
+ Int_t GetHistoPtBins() const { return fHistoPtBins ; }
+ Float_t GetHistoPtMin() const { return fHistoPtMin ; }
+ Float_t GetHistoPtMax() const { return fHistoPtMax ; }
+
+ void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoPtBins = n ; fHistoPtMax = max ; fHistoPtMin = min ; }
+
+ Int_t GetHistoEnergyBins() const { return fHistoPtBins ; }
+ Float_t GetHistoEnergyMin() const { return fHistoPtMin ; }
+ Float_t GetHistoEnergyMax() const { return fHistoPtMax ; }
+
+ void SetHistoEnergyRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ SetHistoPtRangeAndNBins(min, max, n) ; }
+
+ Int_t GetHistoFinePtBins() const { return fHistoFinePtBins ; }
+ Float_t GetHistoFinePtMin() const { return fHistoFinePtMin ; }
+ Float_t GetHistoFinePtMax() const { return fHistoFinePtMax ; }
+
+ void SetHistoFinePtRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoFinePtBins = n ; fHistoFinePtMax = max ; fHistoFinePtMin = min ; }
+
+ //Azimuthal angle
+
+ Int_t GetHistoPhiBins() const { return fHistoPhiBins ; }
+ Float_t GetHistoPhiMin() const { return fHistoPhiMin ; }
+ Float_t GetHistoPhiMax() const { return fHistoPhiMax ; }
+
+ void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoPhiBins = n ; fHistoPhiMax = max ; fHistoPhiMin = min ; }
+
+ //Pseudorapidity-rapidity
+
+ Int_t GetHistoEtaBins() const { return fHistoEtaBins ; }
+ Float_t GetHistoEtaMin() const { return fHistoEtaMin ; }
+ Float_t GetHistoEtaMax() const { return fHistoEtaMax ; }
+
+ void SetHistoEtaRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoEtaBins = n ; fHistoEtaMax = max ; fHistoEtaMin = min ; }
+
+ //Mass
+
+ Int_t GetHistoMassBins() const { return fHistoMassBins ; }
+ Float_t GetHistoMassMin() const { return fHistoMassMin ; }
+ Float_t GetHistoMassMax() const { return fHistoMassMax ; }
+
+ void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoMassBins = n ; fHistoMassMax = max ; fHistoMassMin = min ; }
+
+ //Asymetry
+
+ Int_t GetHistoAsymmetryBins() const { return fHistoAsymBins ; }
+ Float_t GetHistoAsymmetryMin() const { return fHistoAsymMin ; }
+ Float_t GetHistoAsymmetryMax() const { return fHistoAsymMax ; }
+
+ void SetHistoAsymmetryRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoAsymBins = n ; fHistoAsymMax = max ; fHistoAsymMin = min ; }
+
+ //VZero
+
+ Int_t GetHistoV0SignalBins() const { return fHistoV0SBins ; }
+ Int_t GetHistoV0SignalMin() const { return fHistoV0SMin ; }
+ Int_t GetHistoV0SignalMax() const { return fHistoV0SMax ; }
+
+ void SetHistoV0SignalRangeAndNBins(Int_t min, Int_t max, Int_t n) {
+ fHistoV0SBins = n ; fHistoV0SMax = max ; fHistoV0SMin = min ; }
+
+ Int_t GetHistoV0MultiplicityBins() const { return fHistoV0MBins ; }
+ Int_t GetHistoV0MultiplicityMin() const { return fHistoV0MMin ; }
+ Int_t GetHistoV0MultiplicityMax() const { return fHistoV0MMax ; }
+
+ void SetHistoV0MultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n) {
+ fHistoV0MBins = n ; fHistoV0MMax = max ; fHistoV0MMin = min ; }
+
+ // Track multiplicity
+
+ Int_t GetHistoTrackMultiplicityBins() const { return fHistoTrMBins ; }
+ Int_t GetHistoTrackMultiplicityMin() const { return fHistoTrMMin ; }
+ Int_t GetHistoTrackMultiplicityMax() const { return fHistoTrMMax ; }
+
+ void SetHistoTrackMultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n) {
+ fHistoTrMBins = n ; fHistoTrMMax = max ; fHistoTrMMin = min ; }
+
+ // dEdx
+
+ Int_t GetHistodEdxBins() const { return fHistodEdxBins ; }
+ Float_t GetHistodEdxMin() const { return fHistodEdxMin ; }
+ Float_t GetHistodEdxMax() const { return fHistodEdxMax ; }
+
+ void SetHistodEdxRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistodEdxBins = n ; fHistodEdxMax = max ; fHistodEdxMin = min ; }
+
+ // E over p
+
+ Int_t GetHistoPOverEBins() const { return fHistoPOverEBins ; }
+ Float_t GetHistoPOverEMin() const { return fHistoPOverEMin ; }
+ Float_t GetHistoPOverEMax() const { return fHistoPOverEMax ; }
+
+ void SetHistoPOverERangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoPOverEBins = n ; fHistoPOverEMax = max ; fHistoPOverEMin = min ; }
+
+ // Number of cells per clusters
+
+ Int_t GetHistoNClusterCellBins() const { return fHistoNClusCellBins ; }
+ Int_t GetHistoNClusterCellMin() const { return fHistoNClusCellMin ; }
+ Int_t GetHistoNClusterCellMax() const { return fHistoNClusCellMax ; }
+
+ void SetHistoNClusterCellRangeAndNBins(Int_t min, Int_t max, Int_t n) {
+ fHistoNClusCellBins = n ; fHistoNClusCellMax = max ; fHistoNClusCellMin = min ; }
+
+ // Number of clusters
+
+ Int_t GetHistoNClustersBins() const { return fHistoNClustersBins ; }
+ Int_t GetHistoNClustersMin() const { return fHistoNClustersMin ; }
+ Int_t GetHistoNClustersMax() const { return fHistoNClustersMax ; }
+
+ void SetHistoNClustersRangeAndNBins (Int_t min, Int_t max, Int_t n) {
+ fHistoNClustersBins = n ; fHistoNClustersMax = max ; fHistoNClustersMin = min ; }
+
+ // Number of cells
+
+ Int_t GetHistoNCellsBins() const { return fHistoNCellsBins ; }
+ Int_t GetHistoNCellsMin() const { return fHistoNCellsMin ; }
+ Int_t GetHistoNCellsMax() const { return fHistoNCellsMax ; }
+
+ void SetHistoNCellsRangeAndNBins (Int_t min, Int_t max, Int_t n) {
+ fHistoNCellsBins = n ; fHistoNCellsMax = max ; fHistoNCellsMin = min ; }
+
+ // dR
+
+ Int_t GetHistodRBins() const { return fHistodRBins ; }
+ Float_t GetHistodRMin() const { return fHistodRMin ; }
+ Float_t GetHistodRMax() const { return fHistodRMax ; }
+
+ void SetHistodRRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistodRBins = n ; fHistodRMax = max ; fHistodRMin = min ; }
+
+ // Ratio
+
+ Int_t GetHistoRatioBins() const { return fHistoRatioBins ; }
+ Float_t GetHistoRatioMin() const { return fHistoRatioMin ; }
+ Float_t GetHistoRatioMax() const { return fHistoRatioMax ; }
+
+ void SetHistoRatioRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoRatioBins = n ; fHistoRatioMax = max ; fHistoRatioMin = min ; }
+
+ // Vertex
+
+ Int_t GetHistoVertexDistBins() const { return fHistoVertexDistBins ; }
+ Float_t GetHistoVertexDistMin() const { return fHistoVertexDistMin ; }
+ Float_t GetHistoVertexDistMax() const { return fHistoVertexDistMax ; }
+
+ void SetHistoVertexDistRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoVertexDistBins = n ; fHistoVertexDistMax = max ; fHistoVertexDistMin = min ; }
+
+
+ // R =sqrt(x^2+y^2+z^2) (cm)
+
+ Int_t GetHistoRBins() const { return fHistoRBins ; }
+ Float_t GetHistoRMin() const { return fHistoRMin ; }
+ Float_t GetHistoRMax() const { return fHistoRMax ; }
+
+ void SetHistoRRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoRBins = n ; fHistoRMax = max ; fHistoRMin = min ; }
+
+ // X position
+
+ Int_t GetHistoXBins() const { return fHistoXBins ; }
+ Float_t GetHistoXMin() const { return fHistoXMin ; }
+ Float_t GetHistoXMax() const { return fHistoXMax ; }
+
+ void SetHistoXRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoXBins = n ; fHistoXMax = max ; fHistoXMin = min ; }
+
+ // Y position
+
+ Int_t GetHistoYBins() const { return fHistoYBins ; }
+ Float_t GetHistoYMin() const { return fHistoYMin ; }
+ Float_t GetHistoYMax() const { return fHistoYMax ; }
+
+ void SetHistoYRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoYBins = n ; fHistoYMax = max ; fHistoYMin = min ; }
+
+ // Z position
+
+ Int_t GetHistoZBins() const { return fHistoZBins ; }
+ Float_t GetHistoZMin() const { return fHistoZMin ; }
+ Float_t GetHistoZMax() const { return fHistoZMax ; }
+
+ void SetHistoZRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoZBins = n ; fHistoZMax = max ; fHistoZMin = min ; }
+
+ // Shower shape parameters
+
+ Int_t GetHistoShowerShapeBins() const { return fHistoSSBins ; }
+ Float_t GetHistoShowerShapeMin() const { return fHistoSSMin ; }
+ Float_t GetHistoShowerShapeMax() const { return fHistoSSMax ; }
+
+ void SetHistoShowerShapeRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoSSBins = n ; fHistoSSMax = max ; fHistoSSMin = min ; }
+
+ // Time
+
+ Int_t GetHistoTimeBins() const { return fHistoTimeBins ; }
+ Float_t GetHistoTimeMin() const { return fHistoTimeMin ; }
+ Float_t GetHistoTimeMax() const { return fHistoTimeMax ; }
+
+ void SetHistoTimeRangeAndNBins (Float_t min, Float_t max, Int_t n) {
+ fHistoTimeBins = n ; fHistoTimeMax = max ; fHistoTimeMin = min ; }
+
+ // Cluster time difference
+
+ Int_t GetHistoDiffTimeBins() const { return fHistoDiffTimeBins ; }
+ Float_t GetHistoDiffTimeMin() const { return fHistoDiffTimeMin ; }
+ Float_t GetHistoDiffTimeMax() const { return fHistoDiffTimeMax ; }
+
+ void SetHistoDiffTimeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
+ fHistoDiffTimeBins = n ; fHistoDiffTimeMax = max ; fHistoDiffTimeMin = min ; }
+
+private:
+
+ Int_t fHistoPtBins ; // Number of bins in pt axis
+ Float_t fHistoPtMax ; // Maximum value of pt histogram range
+ Float_t fHistoPtMin ; // Minimum value of pt histogram range
+ Int_t fHistoPhiBins ; // Number of bins in phi axis
+ Float_t fHistoPhiMax ; // Maximum value of phi histogram range
+ Float_t fHistoPhiMin ; // Minimum value of phi histogram range
+ Int_t fHistoEtaBins ; // Number of bins in eta axis
+ Float_t fHistoEtaMax ; // Maximum value of eta histogram range
+ Float_t fHistoEtaMin ; // Minimum value of eta histogram range
+ Int_t fHistoMassBins ; // Number of bins in mass axis
+ Float_t fHistoMassMax ; // Maximum value of mass histogram range
+ Float_t fHistoMassMin ; // Minimum value of mass histogram range
+ Int_t fHistoAsymBins ; // Number of bins in asymmetry axis
+ Float_t fHistoAsymMax ; // Maximum value of asymmetry histogram range
+ Float_t fHistoAsymMin ; // Minimum value of asymmetry histogram range
+ Int_t fHistoV0SBins ; // Number of bins in V0 signal axis
+ Int_t fHistoV0SMax ; // Maximum value of V0 signal histogram range
+ Int_t fHistoV0SMin ; // Minimum value of V0 signal histogram range
+ Int_t fHistoV0MBins ; // Number of bins in V0 multiplicity axis
+ Int_t fHistoV0MMax ; // Maximum value of V0 multiplicity histogram range
+ Int_t fHistoV0MMin ; // Minimum value of V0 multiplicity histogram range
+ Int_t fHistoTrMBins ; // Number of bins in V0 multiplicity axis
+ Int_t fHistoTrMMax ; // Maximum value of track multiplicity histogram range
+ Int_t fHistoTrMMin ; // Minimum value of track multiplicity histogram range
+ Int_t fHistoFinePtBins; // fine binning for fhAmpId histogram
+ Float_t fHistoFinePtMax; // maximum pt value for fhAmpId histogram
+ Float_t fHistoFinePtMin; // minimum pt value for fhAmpId histogram
+ Int_t fHistoPOverEBins; // p/E histogram number of bins
+ Float_t fHistoPOverEMax; // p/E maximum value
+ Float_t fHistoPOverEMin; // p/E minimum value
+ Int_t fHistodEdxBins; // dEdx histogram number of bins
+ Float_t fHistodEdxMax; // dEdx maximum value
+ Float_t fHistodEdxMin; // dEdx minimum value
+ Int_t fHistodRBins; // dR histogram number of bins
+ Float_t fHistodRMax; // dR maximum value
+ Float_t fHistodRMin; // dR minimum value
+ Int_t fHistoTimeBins; // cell time histogram number of bins
+ Float_t fHistoTimeMax; // cell time maximum value
+ Float_t fHistoTimeMin; // cell time minimum value
+ Int_t fHistoNClusCellBins; // number of cells per cluster histogram number of bins
+ Int_t fHistoNClusCellMax; // number of cells per cluster maximum value
+ Int_t fHistoNClusCellMin; // number of cells per cluster minimum value
+ Int_t fHistoNCellsBins; // number of cells histogram number of bins
+ Int_t fHistoNCellsMax; // number of cells maximum value
+ Int_t fHistoNCellsMin; // number of cells minimum value
+ Int_t fHistoNClustersBins; // number of clusters histogram number of bins
+ Int_t fHistoNClustersMax; // number of clusters maximum value
+ Int_t fHistoNClustersMin; // number of clusters minimum value
+ Int_t fHistoRatioBins; // ratio histogram number of bins
+ Float_t fHistoRatioMax; // ratio maximum value
+ Float_t fHistoRatioMin; // ratio minimum value
+ Int_t fHistoVertexDistBins; // vertex distance histogram number of bins
+ Float_t fHistoVertexDistMax; // vertex distance maximum value
+ Float_t fHistoVertexDistMin; // vertex distance minimum value
+ Int_t fHistoRBins; // r =sqrt(x^2+y^2+z^2) (cm) position histogram number of bins
+ Float_t fHistoRMax; // r =sqrt(x^2+y^2+z^2) (cm) maximum value
+ Float_t fHistoRMin; // r =sqrt(x^2+y^2+z^2) (cm) minimum value
+ Int_t fHistoXBins; // x (cm) position histogram number of bins
+ Float_t fHistoXMax; // x (cm) position maximum value
+ Float_t fHistoXMin; // x (cm) position minimum value
+ Int_t fHistoYBins; // y (cm) position histogram number of bins
+ Float_t fHistoYMax; // y (cm) position maximum value
+ Float_t fHistoYMin; // y (cm) position minimum value
+ Int_t fHistoZBins; // z (cm) position histogram number of bins
+ Float_t fHistoZMax; // z (cm) position maximum value
+ Float_t fHistoZMin; // z (cm) position minimum value
+ Int_t fHistoSSBins; // Shower Shape parameter histogram number of bins
+ Float_t fHistoSSMax; // Shower Shape parameter position maximum value
+ Float_t fHistoSSMin; // Shower Shape parameter position minimum value
+ Int_t fHistoDiffTimeBins; // Difference cluster pair time parameter histogram number of bins
+ Float_t fHistoDiffTimeMax; // Difference cluster pair time parameter position maximum value
+ Float_t fHistoDiffTimeMin; // Difference cluster pair time parameter position minimum value
+
+ AliHistogramRanges( const AliHistogramRanges & h) ; // cpy ctor
+ AliHistogramRanges & operator = (const AliHistogramRanges & h) ; // cpy assignment
+
+ ClassDef(AliHistogramRanges,1)
+} ;
+
+
+#endif //ALIHISTOGRAMRANGES_H
+
+
+
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: $ */
//_________________________________________________________________________
// Class to check results from simulations or reconstructed real data.
//________________________________________
AliAnaCalorimeterQA::AliAnaCalorimeterQA() :
-AliAnaPartCorrBaseClass(), fCalorimeter(""),
+AliAnaCaloTrackCorrBaseClass(), fCalorimeter(""),
//Switches
fFillAllPosHisto(kFALSE), fFillAllPosHisto2(kTRUE),
outputContainer->SetName("QAHistos") ;
//Histograms
- Int_t nptbins = GetHistoPtBins(); Float_t ptmax = GetHistoPtMax(); Float_t ptmin = GetHistoPtMin();
- Int_t nfineptbins = GetHistoFinePtBins(); Float_t ptfinemax = GetHistoFinePtMax(); Float_t ptfinemin = GetHistoFinePtMin();
- Int_t nphibins = GetHistoPhiBins(); Float_t phimax = GetHistoPhiMax(); Float_t phimin = GetHistoPhiMin();
- Int_t netabins = GetHistoEtaBins(); Float_t etamax = GetHistoEtaMax(); Float_t etamin = GetHistoEtaMin();
- Int_t nmassbins = GetHistoMassBins(); Float_t massmax = GetHistoMassMax(); Float_t massmin = GetHistoMassMin();
- Int_t nasymbins = GetHistoAsymmetryBins(); Float_t asymmax = GetHistoAsymmetryMax(); Float_t asymmin = GetHistoAsymmetryMin();
- Int_t nPoverEbins = GetHistoPOverEBins(); Float_t pOverEmax = GetHistoPOverEMax(); Float_t pOverEmin = GetHistoPOverEMin();
- Int_t ndedxbins = GetHistodEdxBins(); Float_t dedxmax = GetHistodEdxMax(); Float_t dedxmin = GetHistodEdxMin();
- Int_t ndRbins = GetHistodRBins(); Float_t dRmax = GetHistodRMax(); Float_t dRmin = GetHistodRMin();
- Int_t ntimebins = GetHistoTimeBins(); Float_t timemax = GetHistoTimeMax(); Float_t timemin = GetHistoTimeMin();
- Int_t nclbins = GetHistoNClustersBins(); Int_t nclmax = GetHistoNClustersMax(); Int_t nclmin = GetHistoNClustersMin();
- Int_t ncebins = GetHistoNCellsBins(); Int_t ncemax = GetHistoNCellsMax(); Int_t ncemin = GetHistoNCellsMin();
- Int_t nceclbins = GetHistoNClusterCellBins(); Int_t nceclmax = GetHistoNClusterCellMax(); Int_t nceclmin = GetHistoNClusterCellMin();
- Int_t nvdistbins = GetHistoVertexDistBins(); Float_t vdistmax = GetHistoVertexDistMax(); Float_t vdistmin = GetHistoVertexDistMin();
- Int_t rbins = GetHistoRBins(); Float_t rmax = GetHistoRMax(); Float_t rmin = GetHistoRMin();
- Int_t xbins = GetHistoXBins(); Float_t xmax = GetHistoXMax(); Float_t xmin = GetHistoXMin();
- Int_t ybins = GetHistoYBins(); Float_t ymax = GetHistoYMax(); Float_t ymin = GetHistoYMin();
- Int_t zbins = GetHistoZBins(); Float_t zmax = GetHistoZMax(); Float_t zmin = GetHistoZMin();
- Int_t ssbins = GetHistoShowerShapeBins(); Float_t ssmax = GetHistoShowerShapeMax(); Float_t ssmin = GetHistoShowerShapeMin();
- Int_t tdbins = GetHistoDiffTimeBins() ; Float_t tdmax = GetHistoDiffTimeMax(); Float_t tdmin = GetHistoDiffTimeMin();
-
- Int_t nv0sbins = GetHistoV0SignalBins(); Int_t nv0smax = GetHistoV0SignalMax(); Int_t nv0smin = GetHistoV0SignalMin();
- Int_t nv0mbins = GetHistoV0MultiplicityBins(); Int_t nv0mmax = GetHistoV0MultiplicityMax(); Int_t nv0mmin = GetHistoV0MultiplicityMin();
- Int_t ntrmbins = GetHistoTrackMultiplicityBins(); Int_t ntrmmax = GetHistoTrackMultiplicityMax(); Int_t ntrmmin = GetHistoTrackMultiplicityMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Int_t nfineptbins = GetHistogramRanges()->GetHistoFinePtBins(); Float_t ptfinemax = GetHistogramRanges()->GetHistoFinePtMax(); Float_t ptfinemin = GetHistogramRanges()->GetHistoFinePtMin();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+ Int_t nmassbins = GetHistogramRanges()->GetHistoMassBins(); Float_t massmax = GetHistogramRanges()->GetHistoMassMax(); Float_t massmin = GetHistogramRanges()->GetHistoMassMin();
+ Int_t nasymbins = GetHistogramRanges()->GetHistoAsymmetryBins(); Float_t asymmax = GetHistogramRanges()->GetHistoAsymmetryMax(); Float_t asymmin = GetHistogramRanges()->GetHistoAsymmetryMin();
+ Int_t nPoverEbins = GetHistogramRanges()->GetHistoPOverEBins(); Float_t pOverEmax = GetHistogramRanges()->GetHistoPOverEMax(); Float_t pOverEmin = GetHistogramRanges()->GetHistoPOverEMin();
+ Int_t ndedxbins = GetHistogramRanges()->GetHistodEdxBins(); Float_t dedxmax = GetHistogramRanges()->GetHistodEdxMax(); Float_t dedxmin = GetHistogramRanges()->GetHistodEdxMin();
+ Int_t ndRbins = GetHistogramRanges()->GetHistodRBins(); Float_t dRmax = GetHistogramRanges()->GetHistodRMax(); Float_t dRmin = GetHistogramRanges()->GetHistodRMin();
+ Int_t ntimebins = GetHistogramRanges()->GetHistoTimeBins(); Float_t timemax = GetHistogramRanges()->GetHistoTimeMax(); Float_t timemin = GetHistogramRanges()->GetHistoTimeMin();
+ Int_t nclbins = GetHistogramRanges()->GetHistoNClustersBins(); Int_t nclmax = GetHistogramRanges()->GetHistoNClustersMax(); Int_t nclmin = GetHistogramRanges()->GetHistoNClustersMin();
+ Int_t ncebins = GetHistogramRanges()->GetHistoNCellsBins(); Int_t ncemax = GetHistogramRanges()->GetHistoNCellsMax(); Int_t ncemin = GetHistogramRanges()->GetHistoNCellsMin();
+ Int_t nceclbins = GetHistogramRanges()->GetHistoNClusterCellBins(); Int_t nceclmax = GetHistogramRanges()->GetHistoNClusterCellMax(); Int_t nceclmin = GetHistogramRanges()->GetHistoNClusterCellMin();
+ Int_t nvdistbins = GetHistogramRanges()->GetHistoVertexDistBins(); Float_t vdistmax = GetHistogramRanges()->GetHistoVertexDistMax(); Float_t vdistmin = GetHistogramRanges()->GetHistoVertexDistMin();
+ Int_t rbins = GetHistogramRanges()->GetHistoRBins(); Float_t rmax = GetHistogramRanges()->GetHistoRMax(); Float_t rmin = GetHistogramRanges()->GetHistoRMin();
+ Int_t xbins = GetHistogramRanges()->GetHistoXBins(); Float_t xmax = GetHistogramRanges()->GetHistoXMax(); Float_t xmin = GetHistogramRanges()->GetHistoXMin();
+ Int_t ybins = GetHistogramRanges()->GetHistoYBins(); Float_t ymax = GetHistogramRanges()->GetHistoYMax(); Float_t ymin = GetHistogramRanges()->GetHistoYMin();
+ Int_t zbins = GetHistogramRanges()->GetHistoZBins(); Float_t zmax = GetHistogramRanges()->GetHistoZMax(); Float_t zmin = GetHistogramRanges()->GetHistoZMin();
+ Int_t ssbins = GetHistogramRanges()->GetHistoShowerShapeBins(); Float_t ssmax = GetHistogramRanges()->GetHistoShowerShapeMax(); Float_t ssmin = GetHistogramRanges()->GetHistoShowerShapeMin();
+ Int_t tdbins = GetHistogramRanges()->GetHistoDiffTimeBins() ; Float_t tdmax = GetHistogramRanges()->GetHistoDiffTimeMax(); Float_t tdmin = GetHistogramRanges()->GetHistoDiffTimeMin();
+
+ Int_t nv0sbins = GetHistogramRanges()->GetHistoV0SignalBins(); Int_t nv0smax = GetHistogramRanges()->GetHistoV0SignalMax(); Int_t nv0smin = GetHistogramRanges()->GetHistoV0SignalMin();
+ Int_t nv0mbins = GetHistogramRanges()->GetHistoV0MultiplicityBins(); Int_t nv0mmax = GetHistogramRanges()->GetHistoV0MultiplicityMax(); Int_t nv0mmin = GetHistogramRanges()->GetHistoV0MultiplicityMin();
+ Int_t ntrmbins = GetHistogramRanges()->GetHistoTrackMultiplicityBins(); Int_t ntrmmax = GetHistogramRanges()->GetHistoTrackMultiplicityMax(); Int_t ntrmmin = GetHistogramRanges()->GetHistoTrackMultiplicityMin();
//EMCAL
fNMaxCols = 48;
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Select Calorimeter %s \n",fCalorimeter.Data());
printf("Time Cut: %3.1f < TOF < %3.1f\n", fTimeCutMin, fTimeCutMax);
#define ALIANACALORIMETERQA_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: $ */
//_________________________________________________________________________
// Class to check results from simulations or reconstructed real data.
class AliVCaloCluster;
class AliVTrack;
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaCalorimeterQA : public AliAnaPartCorrBaseClass {
+class AliAnaCalorimeterQA : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaCalorimeterQA() ; // default ctor
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: $ */
//_________________________________________________________________________
//
//__________________________________________________
AliAnaChargedParticles::AliAnaChargedParticles() :
- AliAnaPartCorrBaseClass(),
+ AliAnaCaloTrackCorrBaseClass(),
fPdg(0),
fhNtracks(0), fhPt(0),
fhPhiNeg(0), fhEtaNeg(0),
TList * outputContainer = new TList() ;
outputContainer->SetName("ExampleHistos") ;
- Int_t nptbins = GetHistoPtBins(); Int_t nphibins = GetHistoPhiBins(); Int_t netabins = GetHistoEtaBins();
- Float_t ptmax = GetHistoPtMax(); Float_t phimax = GetHistoPhiMax(); Float_t etamax = GetHistoEtaMax();
- Float_t ptmin = GetHistoPtMin(); Float_t phimin = GetHistoPhiMin(); Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
fhNtracks = new TH1F ("hNtracks","# of tracks", 1000,0,1000);
fhNtracks->SetXTitle("# of tracks");
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Min Pt = %3.2f\n", GetMinPt());
printf("Max Pt = %3.2f\n", GetMaxPt());
#define ALIANACHARGEDPARTICLES_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: $ */
//_________________________________________________________________________
// Example class on how to read AODCaloClusters, ESDCaloCells and AODTracks and how
-// fill AODs with PWG4PartCorr analysis frame
+// fill AODs with PWG4CaloTrackCorr analysis frame
// Select the type of detector information that you want to analyze, CTS (tracking), PHOS or EMCAL
// Select the PID custer type of the calorimeters
// Set min momentum of the cluster/tracks
class TH2F;
// Analysis system
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaChargedParticles : public AliAnaPartCorrBaseClass {
+class AliAnaChargedParticles : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaChargedParticles() ; // default ctor
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: AliAnaElectron.cxx 28688 2008-09-11 15:04:07Z gconesab $ */
//_________________________________________________________________________
//
//________________________________
AliAnaElectron::AliAnaElectron() :
- AliAnaPartCorrBaseClass(), fCalorimeter(""),
+ AliAnaCaloTrackCorrBaseClass(), fCalorimeter(""),
fMinDist(0.), fMinDist2(0.), fMinDist3(0.),
fTimeCutMin(-1), fTimeCutMax(999999),
fNCellsCut(0), fFillSSHistograms(kFALSE),
TList * outputContainer = new TList() ;
outputContainer->SetName("ElectronHistos") ;
- Int_t nptbins = GetHistoPtBins(); Float_t ptmax = GetHistoPtMax(); Float_t ptmin = GetHistoPtMin();
- Int_t nphibins = GetHistoPhiBins(); Float_t phimax = GetHistoPhiMax(); Float_t phimin = GetHistoPhiMin();
- Int_t netabins = GetHistoEtaBins(); Float_t etamax = GetHistoEtaMax(); Float_t etamin = GetHistoEtaMin();
- Int_t ssbins = GetHistoShowerShapeBins(); Float_t ssmax = GetHistoShowerShapeMax(); Float_t ssmin = GetHistoShowerShapeMin();
- Int_t nbins = GetHistoNClusterCellBins(); Int_t nmax = GetHistoNClusterCellMax(); Int_t nmin = GetHistoNClusterCellMin();
- Int_t ndedxbins = GetHistodEdxBins(); Float_t dedxmax = GetHistodEdxMax(); Float_t dedxmin = GetHistodEdxMin();
- Int_t nPoverEbins = GetHistoPOverEBins(); Float_t pOverEmax = GetHistoPOverEMax(); Float_t pOverEmin = GetHistoPOverEMin();
- Int_t tbins = GetHistoTimeBins() ; Float_t tmax = GetHistoTimeMax(); Float_t tmin = GetHistoTimeMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+ Int_t ssbins = GetHistogramRanges()->GetHistoShowerShapeBins(); Float_t ssmax = GetHistogramRanges()->GetHistoShowerShapeMax(); Float_t ssmin = GetHistogramRanges()->GetHistoShowerShapeMin();
+ Int_t nbins = GetHistogramRanges()->GetHistoNClusterCellBins(); Int_t nmax = GetHistogramRanges()->GetHistoNClusterCellMax(); Int_t nmin = GetHistogramRanges()->GetHistoNClusterCellMin();
+ Int_t ndedxbins = GetHistogramRanges()->GetHistodEdxBins(); Float_t dedxmax = GetHistogramRanges()->GetHistodEdxMax(); Float_t dedxmin = GetHistogramRanges()->GetHistodEdxMin();
+ Int_t nPoverEbins = GetHistogramRanges()->GetHistoPOverEBins(); Float_t pOverEmax = GetHistogramRanges()->GetHistoPOverEMax(); Float_t pOverEmin = GetHistogramRanges()->GetHistoPOverEMin();
+ Int_t tbins = GetHistogramRanges()->GetHistoTimeBins() ; Float_t tmax = GetHistogramRanges()->GetHistoTimeMax(); Float_t tmin = GetHistogramRanges()->GetHistoTimeMin();
fhdEdxvsE = new TH2F ("hdEdxvsE","matched track <dE/dx> vs cluster E ", nptbins,ptmin,ptmax,ndedxbins, dedxmin, dedxmax);
fhdEdxvsE->SetXTitle("E (GeV)");
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Calorimeter = %s\n", fCalorimeter.Data()) ;
printf(" %2.2f < dEdx < %2.2f \n",fdEdxMin,fdEdxMax) ;
#define ALIANAELECTRON_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: AliAnaElectron.h 27413 2008-07-18 13:28:12Z gconesab $ */
//_________________________________________________________________________
//
class TObjString;
// --- ANALYSIS system ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
class AliStack;
class TParticle;
class TList ;
-class AliAnaElectron : public AliAnaPartCorrBaseClass {
+class AliAnaElectron : public AliAnaCaloTrackCorrBaseClass {
public:
//__________________________________________________________________
AliAnaInsideClusterInvariantMass::AliAnaInsideClusterInvariantMass() :
- AliAnaPartCorrBaseClass(),
+ AliAnaCaloTrackCorrBaseClass(),
fCalorimeter(""),
fM02Cut(0),
fMinNCells(0)
TList * outputContainer = new TList() ;
outputContainer->SetName("InsideClusterHistos") ;
- Int_t nptbins = GetHistoPtBins(); Float_t ptmax = GetHistoPtMax(); Float_t ptmin = GetHistoPtMin();
- Int_t ssbins = GetHistoShowerShapeBins(); Float_t ssmax = GetHistoShowerShapeMax(); Float_t ssmin = GetHistoShowerShapeMin();
- Int_t mbins = GetHistoMassBins(); Float_t mmax = GetHistoMassMax(); Float_t mmin = GetHistoMassMin();
- Int_t ncbins = GetHistoNClusterCellBins(); Int_t ncmax = GetHistoNClusterCellMax(); Int_t ncmin = GetHistoNClusterCellMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Int_t ssbins = GetHistogramRanges()->GetHistoShowerShapeBins(); Float_t ssmax = GetHistogramRanges()->GetHistoShowerShapeMax(); Float_t ssmin = GetHistogramRanges()->GetHistoShowerShapeMin();
+ Int_t mbins = GetHistogramRanges()->GetHistoMassBins(); Float_t mmax = GetHistogramRanges()->GetHistoMassMax(); Float_t mmin = GetHistogramRanges()->GetHistoMassMin();
+ Int_t ncbins = GetHistogramRanges()->GetHistoNClusterCellBins(); Int_t ncmax = GetHistogramRanges()->GetHistoNClusterCellMax(); Int_t ncmin = GetHistogramRanges()->GetHistoNClusterCellMin();
TString ptype[] ={"","#gamma","#gamma->e^{#pm}","#pi^{0}","#eta","e^{#pm}", "hadron"};
TString pname[] ={"","Photon","Conversion", "Pi0", "Eta", "Electron","Hadron"};
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print("");
+ AliAnaCaloTrackCorrBaseClass::Print("");
printf("Calorimeter = %s\n", fCalorimeter.Data()) ;
printf("lambda 0 sqared > %2.1f\n", fM02Cut);
printf(" \n") ;
#define ALIANAINSIDECLUSTERINVARIANTMASS_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: AliAnaInsideClusterInvariantMass.h 27413 2008-07-18 13:28:12Z gconesab $ */
//_________________________________________________________________________
//
class TLorentzVector;
// --- ANALYSIS system ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaInsideClusterInvariantMass : public AliAnaPartCorrBaseClass {
+class AliAnaInsideClusterInvariantMass : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaInsideClusterInvariantMass() ; // default ctor
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: $ */
+
//_________________________________________________________________________
// class to extract omega(782)->pi0+gamma->3gamma
-// Mar. 22, 2011: Additional method, espeically for EMCAL. A high E cluster is assumpted as pi0 (two photons are overlapped) without unfolding
+// Mar. 22, 2011: Additional method, espeically for EMCAL. A high E cluster
+// is assumpted as pi0 (two photons are overlapped) without unfolding
//
//-- Author: Renzhuo Wan (IOPP-Wuhan, China)
//_________________________________________________________________________
ClassImp(AliAnaOmegaToPi0Gamma)
//______________________________________________________________________________
-AliAnaOmegaToPi0Gamma::AliAnaOmegaToPi0Gamma() : AliAnaPartCorrBaseClass(),
+AliAnaOmegaToPi0Gamma::AliAnaOmegaToPi0Gamma() : AliAnaCaloTrackCorrBaseClass(),
fInputAODPi0(0), fInputAODGammaName(""),
fEventsList(0x0),fNVtxZBin(0), fNCentBin(0), fNRpBin(0), fNBadChDistBin(0), fNpid(0),
fVtxZCut(0), fCent(0), fRp(0),
fRp=new Double_t[fNRpBin];
for(int i = 0;i<fNRpBin;i++)fRp[i]=0;
//
- Int_t nptbins = GetHistoPtBins();
- Float_t ptmax = GetHistoPtMax();
- Float_t ptmin = GetHistoPtMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
- Int_t nmassbins = GetHistoMassBins();
- Float_t massmin = GetHistoMassMin();
- Float_t massmax = GetHistoMassMax();
+ Int_t nmassbins = GetHistogramRanges()->GetHistoMassBins();
+ Float_t massmin = GetHistogramRanges()->GetHistoMassMin();
+ Float_t massmax = GetHistogramRanges()->GetHistoMassMax();
fhEtalon = new TH2F("hEtalon","Histo with binning parameters", nptbins,ptmin,ptmax,nmassbins,massmin,massmax) ;
fhEtalon->SetXTitle("P_{T} (GeV)") ;
{
//Print some relevant parameters set in the analysis
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Omega->pi0+gamma->3gamma\n");
printf("Cuts at event level: \n");
printf("Bins of vertex Z: %d \n", fNVtxZBin);
+#ifndef ALIANAOMEGATOPI0GAMMA_H
+#define ALIANAOMEGATOPI0GAMMA_H
+
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: $ */
//_________________________________________________________________________
// class to extract omega(782)->pi0+gamma->3gamma
//
//-- Author: Renzhuo Wan (IOPP-Wuhan, China)
//_________________________________________________________________________
-#ifndef ALIANAOMEGATOPI0GAMMA_H
-#define ALIANAOMEGATOPI0GAMMA_H
+
//Root
class TList;
class TH2F ;
class TLorentzVector;
+
//Analysis
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
class TParticle;
-class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
+class AliAnaOmegaToPi0Gamma : public AliAnaCaloTrackCorrBaseClass {
public:
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: $ */
//_________________________________________________________________________
// Class for the analysis of particle - hadron correlations
//___________________________________________________________________
AliAnaParticleHadronCorrelation::AliAnaParticleHadronCorrelation():
- AliAnaPartCorrBaseClass(),
+ AliAnaCaloTrackCorrBaseClass(),
fMinTriggerPt(0.),
fMaxAssocPt(1000.), fMinAssocPt(0.),
fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.),
TList * outputContainer = new TList() ;
outputContainer->SetName("CorrelationHistos") ;
- Int_t nptbins = GetHistoPtBins(); Int_t nphibins = GetHistoPhiBins(); Int_t netabins = GetHistoEtaBins();
- Float_t ptmax = GetHistoPtMax(); Float_t phimax = GetHistoPhiMax(); Float_t etamax = GetHistoEtaMax();
- Float_t ptmin = GetHistoPtMin(); Float_t phimin = GetHistoPhiMin(); Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
fhPtLeading = new TH1F ("hPtLeading","p_T distribution of leading particles", nptbins,ptmin,ptmax);
fhPtLeading->SetXTitle("p_{T}^{trig} (GeV/c)");
fhPhiCharged ->Fill(pt,phi);
fhDeltaEtaCharged->Fill(ptTrig,aodParticle->Eta()-eta);
fhDeltaPhiCharged->Fill(ptTrig, deltaPhi);
- fhDeltaPhiDeltaEtaCharged->Fill(deltaPhi,aodParticle->Eta()-eta);
+ if(pt >2 ) fhDeltaPhiDeltaEtaCharged->Fill(deltaPhi,aodParticle->Eta()-eta);
if(GetDebug() > 2 ) printf("AliAnaParticleHadronCorrelation::MakeChargedCorrelation() - Selected charge for momentum imbalance: pt %2.2f, phi %2.2f, eta %2.2f \n",pt,phi,eta);
//fill different multiplicity histogram
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Pt trigger > %3.2f\n", fMinTriggerPt) ;
printf("Pt associated hadron < %3.2f\n", fMaxAssocPt) ;
printf("Pt associated hadron > %3.2f\n", fMinAssocPt) ;
#define ALIANAPARTICLEHADRONCORRELATION_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: $ */
//_________________________________________________________________________
// Class that contains the algorithm for the analysis of particle - hadron correlations
//class TH3D;
// --- Analysis system ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
class AliAODPWG4ParticleCorrelation ;
-class AliAnaParticleHadronCorrelation : public AliAnaPartCorrBaseClass {
+class AliAnaParticleHadronCorrelation : public AliAnaCaloTrackCorrBaseClass {
public:
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: AliAnaParticleIsolation.cxx 28688 2008-09-11 15:04:07Z gconesab $ */
//_________________________________________________________________________
// Class for analysis of particle isolation
//______________________________________________________________________________
AliAnaParticleIsolation::AliAnaParticleIsolation() :
- AliAnaPartCorrBaseClass(), fCalorimeter(""),
+ AliAnaCaloTrackCorrBaseClass(), fCalorimeter(""),
fReMakeIC(0), fMakeSeveralIC(0),
// Several IC
fNCones(0), fNPtThresFrac(0),
TList * outputContainer = new TList() ;
outputContainer->SetName("IsolatedParticleHistos") ;
- Int_t nptbins = GetHistoPtBins();
- Int_t nphibins = GetHistoPhiBins();
- Int_t netabins = GetHistoEtaBins();
- Float_t ptmax = GetHistoPtMax();
- Float_t phimax = GetHistoPhiMax();
- Float_t etamax = GetHistoEtaMax();
- Float_t ptmin = GetHistoPtMin();
- Float_t phimin = GetHistoPhiMin();
- Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax();
+ Float_t phimax = GetHistogramRanges()->GetHistoPhiMax();
+ Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
Int_t nptsumbins = fHistoNPtSumBins;
Float_t ptsummax = fHistoPtSumMax;
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("ReMake Isolation = %d \n", fReMakeIC) ;
printf("Make Several Isolation = %d \n", fMakeSeveralIC) ;
#define ALIANAPARTICLEISOLATION_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: AliAnaParticleIsolation.h 27413 2008-07-18 13:28:12Z gconesab $ */
//_________________________________________________________________________
class TObjString;
// --- ANALYSIS system ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
class AliAODPWG4Particle;
class AliAODPWG4ParticleCorrelation ;
-class AliAnaParticleIsolation : public AliAnaPartCorrBaseClass {
+class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaParticleIsolation() ; // default ctor
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: AliAnaParticleJetFinderCorrelation.cxx 22232 2007-11-17 16:39:49Z gustavo $ */
//_________________________________________________________________________
// Class for the analysis of particle (direct gamma) -jet (jet found with finder) correlations
ClassImp(AliAnaParticleJetFinderCorrelation)
-//____________________________________________________________________________
+//________________________________________________________________________
AliAnaParticleJetFinderCorrelation::AliAnaParticleJetFinderCorrelation() :
- AliAnaPartCorrBaseClass(),
+ AliAnaCaloTrackCorrBaseClass(),
fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.), fRatioMaxCut(0.), fRatioMinCut(0.),
fConeSize(0), fPtThresholdInCone(0),fUseJetRefTracks(0), fMakeCorrelationInHistoMaker(0), fSelectIsolated(0),
fhDeltaEta(0), fhDeltaPhi(0), fhDeltaPt(0), fhPtRatio(0), fhPt(0),
//Initialize parameters
InitParameters();
}
-/*
-//____________________________________________________________________________
-AliAnaParticleJetFinderCorrelation::AliAnaParticleJetFinderCorrelation(const AliAnaParticleJetFinderCorrelation & pjf) :
- AliAnaPartCorrBaseClass(pjf),
- fDeltaPhiMaxCut(pjf.fDeltaPhiMaxCut), fDeltaPhiMinCut(pjf.fDeltaPhiMinCut),
- fRatioMaxCut(pjf.fRatioMaxCut), fRatioMinCut(pjf.fRatioMinCut),
- fConeSize(pjf.fConeSize), fPtThresholdInCone(pjf.fPtThresholdInCone),
- fUseJetRefTracks(pjf.fUseJetRefTracks), fMakeCorrelationInHistoMaker(pjf.fMakeCorrelationInHistoMaker),
- fSelectIsolated(pjf.fSelectIsolated),
- fhDeltaEta(pjf.fhDeltaEta), fhDeltaPhi(pjf.fhDeltaPhi),
- fhDeltaPt(pjf.fhDeltaPt), fhPtRatio(pjf.fhPtRatio), fhPt(pjf.fhPt),
- fhFFz(pjf.fhFFz),fhFFxi(pjf.fhFFxi),fhFFpt(pjf.fhFFpt),
- fhNTracksInCone(pjf.fhNTracksInCone)
-{
- // cpy ctor
-
-}
-
-//_________________________________________________________________________
-AliAnaParticleJetFinderCorrelation & AliAnaParticleJetFinderCorrelation::operator = (const AliAnaParticleJetFinderCorrelation & pjf)
-{
- // assignment operator
-
- if(this == &pjf)return *this;
- ((AliAnaPartCorrBaseClass *)this)->operator=(pjf);
-
- fDeltaPhiMaxCut = pjf.fDeltaPhiMaxCut ;
- fDeltaPhiMinCut = pjf.fDeltaPhiMinCut ;
- fRatioMaxCut = pjf.fRatioMaxCut ;
- fRatioMinCut = pjf.fRatioMinCut ;
- fConeSize = pjf.fConeSize ;
- fPtThresholdInCone = pjf.fPtThresholdInCone ;
- fUseJetRefTracks = pjf.fUseJetRefTracks ;
- fMakeCorrelationInHistoMaker = pjf.fMakeCorrelationInHistoMaker ;
- fSelectIsolated = pjf.fSelectIsolated ;
-
- //Histograms
- fhDeltaEta = pjf.fhDeltaEta;
- fhDeltaPhi = pjf.fhDeltaPhi;
- fhDeltaPt = pjf.fhDeltaPt;
- fhPtRatio = pjf.fhPtRatio;
- fhPt = pjf.fhPt;
-
- fhFFz = pjf.fhFFz;
- fhFFxi = pjf.fhFFxi;
- fhFFpt = pjf.fhFFpt;
- fhNTracksInCone = pjf.fhNTracksInCone;
-
- return *this;
-
-}
-*/
-//____________________________________________________________________________
-//AliAnaParticleJetFinderCorrelation::~AliAnaParticleJetFinderCorrelation()
-//{
-// // Remove all pointers except analysis output pointers.
-//
-//}
-
-//________________________________________________________________________
+//___________________________________________________________________
TList * AliAnaParticleJetFinderCorrelation::GetCreateOutputObjects()
{
// Create histograms to be saved in output file and
TList * outputContainer = new TList() ;
outputContainer->SetName("ParticleJetFinderHistos") ;
- Int_t nptbins = GetHistoPtBins();
- // Int_t nphibins = GetHistoPhiBins();
- // Int_t netabins = GetHistoEtaBins();
- Float_t ptmax = GetHistoPtMax();
- // Float_t phimax = GetHistoPhiMax();
- // Float_t etamax = GetHistoEtaMax();
- Float_t ptmin = GetHistoPtMin();
- // Float_t phimin = GetHistoPhiMin();
-// Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins();
+ // Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins();
+ // Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax();
+ // Float_t phimax = GetHistogramRanges()->GetHistoPhiMax();
+ // Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ // Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+// Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
fhDeltaPhi = new TH2F("DeltaPhi","#phi_{jet} - #phi_{trigger} vs p_{T trigger}",nptbins,ptmin,ptmax,100,-4,4);
fhDeltaPhi->SetYTitle("#Delta #phi");
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Phi trigger-jet < %3.2f\n", fDeltaPhiMaxCut) ;
printf("Phi trigger-jet > %3.2f\n", fDeltaPhiMinCut) ;
#define ALIANAPARTICLEJETFINDERCORRELATION_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: AliAnaParticleJetFinderCorrelation.h 21839 2007-10-29 13:49:42Z gustavo $ */
-
//_________________________________________________________________________
// Class that contains the algorithm for the analysis of particle (direct gamma) - jet
class TH2F;
//---- Analysis system ----
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaParticleJetFinderCorrelation : public AliAnaPartCorrBaseClass {
+class AliAnaParticleJetFinderCorrelation : public AliAnaCaloTrackCorrBaseClass {
public:
- AliAnaParticleJetFinderCorrelation() ; // default ctor
- virtual ~AliAnaParticleJetFinderCorrelation() {;} // virtual dtor
+ AliAnaParticleJetFinderCorrelation() ; // default ctor
+ virtual ~AliAnaParticleJetFinderCorrelation() { ; } // virtual dtor
// General methods
TH2F * fhFFpt; //! Jet particle pt distribution in cone
TH2F * fhNTracksInCone; //! jet multiplicity in cone
- AliAnaParticleJetFinderCorrelation(const AliAnaParticleJetFinderCorrelation & g) ; // cpy ctor
+ AliAnaParticleJetFinderCorrelation( const AliAnaParticleJetFinderCorrelation & g) ; // cpy ctor
AliAnaParticleJetFinderCorrelation & operator = (const AliAnaParticleJetFinderCorrelation & g) ; // cpy assignment
ClassDef(AliAnaParticleJetFinderCorrelation,2)
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: $ */
//_________________________________________________________________________
// Class that contains the algorithm for the reconstruction of jet, cone around leading particle
//____________________________________________________________________________
AliAnaParticleJetLeadingConeCorrelation::AliAnaParticleJetLeadingConeCorrelation() :
- AliAnaPartCorrBaseClass(), fJetsOnlyInCTS(kFALSE), fPbPb(kFALSE),
+ AliAnaCaloTrackCorrBaseClass(), fJetsOnlyInCTS(kFALSE), fPbPb(kFALSE),
fSeveralConeAndPtCuts(0), fReMakeJet(0),
fDeltaPhiMaxCut(0.), fDeltaPhiMinCut(0.),
fLeadingRatioMaxCut(0.), fLeadingRatioMinCut(0.),
/*
//____________________________________________________________________________
AliAnaParticleJetLeadingConeCorrelation::AliAnaParticleJetLeadingConeCorrelation(const AliAnaParticleJetLeadingConeCorrelation & jetlc) :
- AliAnaPartCorrBaseClass(jetlc), fJetsOnlyInCTS(jetlc.fJetsOnlyInCTS), fPbPb(jetlc.fPbPb),
+ AliAnaCaloTrackCorrBaseClass(jetlc), fJetsOnlyInCTS(jetlc.fJetsOnlyInCTS), fPbPb(jetlc.fPbPb),
fSeveralConeAndPtCuts(jetlc.fSeveralConeAndPtCuts), fReMakeJet(jetlc. fReMakeJet),
fDeltaPhiMaxCut(jetlc. fDeltaPhiMaxCut), fDeltaPhiMinCut(jetlc.fDeltaPhiMinCut),
fLeadingRatioMaxCut(jetlc.fLeadingRatioMaxCut), fLeadingRatioMinCut(jetlc.fLeadingRatioMinCut),
// assignment operator
if(this == &jetlc)return *this;
- ((AliAnaPartCorrBaseClass *)this)->operator=(jetlc);
+ ((AliAnaCaloTrackCorrBaseClass *)this)->operator=(jetlc);
fSeveralConeAndPtCuts = jetlc.fSeveralConeAndPtCuts ;
fPbPb = jetlc.fPbPb ;
fOutCont = new TList() ;
fOutCont->SetName("ParticleJetLeadingInConeCorrelationHistograms") ;
- Int_t nptbins = GetHistoPtBins();
- Int_t nphibins = GetHistoPhiBins();
- Int_t netabins = GetHistoEtaBins();
- Float_t ptmax = GetHistoPtMax();
- Float_t phimax = GetHistoPhiMax();
- Float_t etamax = GetHistoEtaMax();
- Float_t ptmin = GetHistoPtMin();
- Float_t phimin = GetHistoPhiMin();
- Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax();
+ Float_t phimax = GetHistogramRanges()->GetHistoPhiMax();
+ Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
fhChargedLeadingPt = new TH2F("ChargedLeadingPt","p_{T leading charge} vs p_{T trigger}",nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
fhChargedLeadingPt->SetYTitle("p_{T leading charge}");
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
if(fJetsOnlyInCTS)printf("Jets reconstructed in CTS \n");
else printf("Jets reconstructed in CTS+EMCAL \n");
#define ALIANAPARTICLEJETLEADINGCONECORRELATION_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: $ */
//_________________________________________________________________________
// Class that contains the algorithm for the reconstruction of jet, cone around leading particle
class AliCaloTrackReader;
class AliNeutralMesonSelection;
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaParticleJetLeadingConeCorrelation : public AliAnaPartCorrBaseClass {
+class AliAnaParticleJetLeadingConeCorrelation : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaParticleJetLeadingConeCorrelation() ; // default ctor
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: $ */
//_________________________________________________________________________
// Class for the analysis of particle-parton correlations
#include "AliStack.h"
#include "AliAODPWG4ParticleCorrelation.h"
- ClassImp(AliAnaParticlePartonCorrelation)
-
+ClassImp(AliAnaParticlePartonCorrelation)
+
-//____________________________________________________________________________
- AliAnaParticlePartonCorrelation::AliAnaParticlePartonCorrelation() :
- AliAnaPartCorrBaseClass(),
- fhDeltaEtaNearParton(0), fhDeltaPhiNearParton(0),
- fhDeltaPtNearParton(0), fhPtRatNearParton(0),
- fhDeltaEtaAwayParton(0), fhDeltaPhiAwayParton(0),
- fhDeltaPtAwayParton(0), fhPtRatAwayParton(0)
+//________________________________________________________________
+AliAnaParticlePartonCorrelation::AliAnaParticlePartonCorrelation() :
+AliAnaCaloTrackCorrBaseClass(),
+fhDeltaEtaNearParton(0), fhDeltaPhiNearParton(0),
+fhDeltaPtNearParton(0), fhPtRatNearParton(0),
+fhDeltaEtaAwayParton(0), fhDeltaPhiAwayParton(0),
+fhDeltaPtAwayParton(0), fhPtRatAwayParton(0)
{
//Default Ctor
-
+
//Initialize parameters
InitParameters();
}
-/*
-//____________________________________________________________________________
-AliAnaParticlePartonCorrelation::AliAnaParticlePartonCorrelation(const AliAnaParticlePartonCorrelation & g) :
- AliAnaPartCorrBaseClass(g),
- fhDeltaEtaNearParton(g.fhDeltaEtaNearParton), fhDeltaPhiNearParton(g.fhDeltaPhiNearParton),
- fhDeltaPtNearParton(g.fhDeltaPtNearParton), fhPtRatNearParton(g.fhPtRatNearParton),
- fhDeltaEtaAwayParton(g.fhDeltaEtaAwayParton), fhDeltaPhiAwayParton(g.fhDeltaPhiAwayParton),
- fhDeltaPtAwayParton(g.fhDeltaPtAwayParton), fhPtRatAwayParton(g.fhPtRatAwayParton)
-{
- // cpy ctor
-
-}
-
-//_________________________________________________________________________
-AliAnaParticlePartonCorrelation & AliAnaParticlePartonCorrelation::operator = (const AliAnaParticlePartonCorrelation & source)
-{
- // assignment operator
-
- if(this == &source)return *this;
- ((AliAnaPartCorrBaseClass *)this)->operator=(source);
- fhDeltaEtaAwayParton = source.fhDeltaEtaAwayParton;
- fhDeltaPhiAwayParton = source.fhDeltaPhiAwayParton;
- fhDeltaPtAwayParton = source.fhDeltaPtAwayParton;
- fhPtRatAwayParton = source.fhPtRatAwayParton;
- fhDeltaEtaNearParton = source.fhDeltaEtaNearParton;
- fhDeltaPhiNearParton = source.fhDeltaPhiNearParton;
- fhDeltaPtNearParton = source.fhDeltaPtNearParton;
- fhPtRatNearParton = source.fhPtRatNearParton;
-
- return *this;
-
-}
-*/
-
-//________________________________________________________________________
+//________________________________________________________________
TList * AliAnaParticlePartonCorrelation::GetCreateOutputObjects()
{
// Create histograms to be saved in output file
-
+
TList * outputContainer = new TList() ;
outputContainer->SetName("ParticlePartonHistos") ;
fhDeltaPhiNearParton = new TH2F
- ("DeltaPhiNearParton","#phi_{particle} - #phi_{parton} vs p_{T particle}",
- 200,0,120,200,0,6.4);
+ ("DeltaPhiNearParton","#phi_{particle} - #phi_{parton} vs p_{T particle}",
+ 200,0,120,200,0,6.4);
fhDeltaPhiNearParton->SetYTitle("#Delta #phi");
fhDeltaPhiNearParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhDeltaPhiNearParton);
fhDeltaEtaNearParton = new TH2F
- ("DeltaEtaNearParton","#eta_{particle} - #eta_{parton} vs p_{T particle}",
- 200,0,120,200,-2,2);
+ ("DeltaEtaNearParton","#eta_{particle} - #eta_{parton} vs p_{T particle}",
+ 200,0,120,200,-2,2);
fhDeltaEtaNearParton->SetYTitle("#Delta #eta");
fhDeltaEtaNearParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhDeltaEtaNearParton);
fhDeltaPtNearParton = new TH2F
- ("DeltaPtNearParton","#p_{T particle} - #p_{T parton} vs p_{T particle}",
- 200,0,120,100,-10,10);
+ ("DeltaPtNearParton","#p_{T particle} - #p_{T parton} vs p_{T particle}",
+ 200,0,120,100,-10,10);
fhDeltaPtNearParton->SetYTitle("#Delta #p_{T}");
fhDeltaPtNearParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhDeltaPtNearParton);
fhPtRatNearParton = new TH2F
- ("PtRatNearParton","#p_{T parton} / #p_{T particle} vs p_{T particle}",
- 200,0,120,200,0,5);
+ ("PtRatNearParton","#p_{T parton} / #p_{T particle} vs p_{T particle}",
+ 200,0,120,200,0,5);
fhPtRatNearParton->SetYTitle("ratio");
fhPtRatNearParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhPtRatNearParton);
fhDeltaPhiAwayParton = new TH2F
- ("DeltaPhiAwayParton","#phi_{particle} - #phi_{parton} vs p_{T particle}",
- 200,0,120,200,0,6.4);
+ ("DeltaPhiAwayParton","#phi_{particle} - #phi_{parton} vs p_{T particle}",
+ 200,0,120,200,0,6.4);
fhDeltaPhiAwayParton->SetYTitle("#Delta #phi");
fhDeltaPhiAwayParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhDeltaPhiAwayParton);
fhDeltaEtaAwayParton = new TH2F
- ("DeltaEtaAwayParton","#eta_{particle} - #eta_{parton} vs p_{T particle}",
- 200,0,120,200,-2,2);
+ ("DeltaEtaAwayParton","#eta_{particle} - #eta_{parton} vs p_{T particle}",
+ 200,0,120,200,-2,2);
fhDeltaEtaAwayParton->SetYTitle("#Delta #eta");
fhDeltaEtaAwayParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhDeltaEtaAwayParton);
fhDeltaPtAwayParton = new TH2F
- ("DeltaPtAwayParton","#p_{T particle} - #p_{T parton} vs p_{T particle}",
- 200,0,120,100,-10,10);
+ ("DeltaPtAwayParton","#p_{T particle} - #p_{T parton} vs p_{T particle}",
+ 200,0,120,100,-10,10);
fhDeltaPtAwayParton->SetYTitle("#Delta #p_{T}");
fhDeltaPtAwayParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhDeltaPtAwayParton);
fhPtRatAwayParton = new TH2F
- ("PtRatAwayParton","#p_{T parton} / #p_{T particle} vs p_{T particle}",
- 200,0,120,200,0,5);
+ ("PtRatAwayParton","#p_{T parton} / #p_{T particle} vs p_{T particle}",
+ 200,0,120,200,0,5);
fhPtRatAwayParton->SetYTitle("ratio");
fhPtRatAwayParton->SetXTitle("p_{T particle} (GeV/c)");
outputContainer->Add(fhPtRatAwayParton);
return outputContainer;
-
+
}
-//____________________________________________________________________________
+//____________________________________________________
void AliAnaParticlePartonCorrelation::InitParameters()
{
SetInputAODName("PWG4Particle");
SetAODObjArrayName("Partons");
AddToHistogramsName("AnaPartonCorr_");
-
+
}
-//__________________________________________________________________
+//_____________________________________________________________________
void AliAnaParticlePartonCorrelation::Print(const Option_t * opt) const
{
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
-
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
+
}
-//__________________________________________________________________
+//__________________________________________________________
void AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD()
{
//Particle-Parton Correlation Analysis, create AODs
}
if(strcmp(GetInputAODBranch()->GetClass()->GetName(), "AliAODPWG4ParticleCorrelation")){
- printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s> \n",GetInputAODBranch()->GetClass()->GetName());
- abort();
+ printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - Wrong type of AOD object, change AOD class name in input AOD: It should be <AliAODPWG4ParticleCorrelation> and not <%s> \n",GetInputAODBranch()->GetClass()->GetName());
+ abort();
}
if(GetDebug() > 1){
}
//Fill AOD reference only with partons
-
+
//Array with reference to partons, initialize
TObjArray * objarray = NULL;
Int_t nrefs = 0;
}
objarray->Add(parton);
}//parton loop
-
+
if(objarray->GetEntriesFast() > 0) particle->AddObjArray(objarray);
-
+
}//Aod branch loop
if(GetDebug() > 1) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillAOD() - End fill AODs \n");
}
-//__________________________________________________________________
-void AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms()
+//_________________________________________________________________
+void AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms()
{
//Particle-Parton Correlation Analysis, fill histograms
if(!GetInputAODBranch()){
printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - No Stack available, STOP\n");
abort();
}
-
+
//Loop on stored AOD particles
Int_t naod = GetInputAODBranch()->GetEntriesFast();
TParticle * mom = NULL ;
Int_t imom = particle->GetLabel();
Int_t iparent = 2000;
Int_t iawayparent = -1;
-
+
TObjArray * objarray = particle->GetObjArray(GetAODObjArrayName());
if(!(objarray) || (objarray->GetEntriesFast() < 7) ) {
printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - Reference list with partons not filled, STOP analysis\n");
abort();
}
-
+
//Check and get indeces of mother and parton
if(imom < 8 ) iparent = imom ; //mother is already a parton
else if (imom < stack->GetNtrack()) {
iparent = mom->GetFirstMother();
}
else iparent = -1;
- //cout<<" while iparent "<<iparent<<endl;
+ //cout<<" while iparent "<<iparent<<endl;
}
}
}
if(GetDebug() > 0 ) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - Failed to find appropriate parton, index %d", iparent);
continue ;
}
-
+
//Near parton is the parton that fragmented and created the mother
TParticle * nearParton = (TParticle*) objarray->At(iparent);
Float_t ptNearParton = nearParton->Pt();
printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - Parent parton is not final state, skip \n");
continue;
}
-
+
//Away parton is the other final parton.
TParticle * awayParton = (TParticle*) objarray->At(iawayparent);
Float_t ptAwayParton = awayParton->Pt();
fhPtRatAwayParton->Fill(ptTrigg,ptAwayParton/ptTrigg);
}
-
+
if(GetDebug() > 1) printf("AliAnaParticlePartonCorrelation::MakeAnalysisFillHistograms() - End fill histograms \n");
}
#define ALIANAPARTICLEPARTONCORRELATION_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: */
//_________________________________________________________________________
// Class that contains the algorithm for the analysis of particle-parton correlation
class TH2F ;
// --- ANALYSIS ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaParticlePartonCorrelation : public AliAnaPartCorrBaseClass {
+class AliAnaParticlePartonCorrelation : public AliAnaCaloTrackCorrBaseClass {
public:
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: AliAnaPhoton.cxx 28688 2008-09-11 15:04:07Z gconesab $ */
//_________________________________________________________________________
//
//____________________________
AliAnaPhoton::AliAnaPhoton() :
- AliAnaPartCorrBaseClass(), fCalorimeter(""),
+ AliAnaCaloTrackCorrBaseClass(), fCalorimeter(""),
fMinDist(0.), fMinDist2(0.), fMinDist3(0.),
fRejectTrackMatch(0), fTimeCutMin(-10000), fTimeCutMax(10000),
fNCellsCut(0), fFillSSHistograms(kFALSE),
TList * outputContainer = new TList() ;
outputContainer->SetName("PhotonHistos") ;
- Int_t nptbins = GetHistoPtBins(); Float_t ptmax = GetHistoPtMax(); Float_t ptmin = GetHistoPtMin();
- Int_t nphibins = GetHistoPhiBins(); Float_t phimax = GetHistoPhiMax(); Float_t phimin = GetHistoPhiMin();
- Int_t netabins = GetHistoEtaBins(); Float_t etamax = GetHistoEtaMax(); Float_t etamin = GetHistoEtaMin();
- Int_t ssbins = GetHistoShowerShapeBins(); Float_t ssmax = GetHistoShowerShapeMax(); Float_t ssmin = GetHistoShowerShapeMin();
- Int_t nbins = GetHistoNClusterCellBins(); Int_t nmax = GetHistoNClusterCellMax(); Int_t nmin = GetHistoNClusterCellMin();
- Int_t ntimebins= GetHistoTimeBins(); Float_t timemax = GetHistoTimeMax(); Float_t timemin = GetHistoTimeMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+ Int_t ssbins = GetHistogramRanges()->GetHistoShowerShapeBins(); Float_t ssmax = GetHistogramRanges()->GetHistoShowerShapeMax(); Float_t ssmin = GetHistogramRanges()->GetHistoShowerShapeMin();
+ Int_t nbins = GetHistogramRanges()->GetHistoNClusterCellBins(); Int_t nmax = GetHistogramRanges()->GetHistoNClusterCellMax(); Int_t nmin = GetHistogramRanges()->GetHistoNClusterCellMin();
+ Int_t ntimebins= GetHistogramRanges()->GetHistoTimeBins(); Float_t timemax = GetHistogramRanges()->GetHistoTimeMax(); Float_t timemin = GetHistogramRanges()->GetHistoTimeMin();
TString cut[] = {"Open","Reader","E","Time","NCells","Fidutial","Matching","Bad","PID"};
for (Int_t i = 0; i < 9 ; i++)
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Calorimeter = %s\n", fCalorimeter.Data()) ;
printf("Min Distance to Bad Channel = %2.1f\n",fMinDist);
#define ALIANAPHOTON_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: AliAnaPhoton.h 27413 2008-07-18 13:28:12Z gconesab $ */
//_________________________________________________________________________
//
class TList ;
// --- ANALYSIS system ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaPhoton : public AliAnaPartCorrBaseClass {
+class AliAnaPhoton : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaPhoton() ; // default ctor
//________________________________________
AliAnaPhotonConvInCalo::AliAnaPhotonConvInCalo() :
-AliAnaPartCorrBaseClass(),
+AliAnaCaloTrackCorrBaseClass(),
fRemoveConvertedPair(kFALSE),
fAddConvertedPairsToAOD(kFALSE),
fMassCut(0),
TList * outputContainer = new TList() ;
outputContainer->SetName("PhotonConvInCaloHistos") ;
- Int_t nptbins = GetHistoPtBins(); Float_t ptmax = GetHistoPtMax(); Float_t ptmin = GetHistoPtMin();
- Int_t nphibins = GetHistoPhiBins(); Float_t phimax = GetHistoPhiMax(); Float_t phimin = GetHistoPhiMin();
- Int_t netabins = GetHistoEtaBins(); Float_t etamax = GetHistoEtaMax(); Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
fhPtPhotonConv = new TH1F("hPtPhotonConv","Number of #gamma over calorimeter, conversion",nptbins,ptmin,ptmax);
fhPtPhotonConv->SetYTitle("N");
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Add conversion pair to AOD = %d\n",fAddConvertedPairsToAOD);
printf("Conversion pair mass cut = %f\n",fMassCut);
class TList ;
// --- ANALYSIS system ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaPhotonConvInCalo : public AliAnaPartCorrBaseClass {
+class AliAnaPhotonConvInCalo : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaPhotonConvInCalo() ; // default ctor
virtual ~AliAnaPhotonConvInCalo() { ; } // virtual dtor
- private:
- AliAnaPhotonConvInCalo(const AliAnaPhotonConvInCalo & g) ; // cpy ctor
- AliAnaPhotonConvInCalo & operator = (const AliAnaPhotonConvInCalo & g) ; // cpy assignment
-
- public:
//---------------------------------------
// General analysis frame methods
TH2F * fhConvDistMCConversion; //! Calculated conversion distance vs real distance to vertex
TH2F * fhConvDistMCConversionCuts; //! Calculated conversion distance vs real distance to vertex
- ClassDef(AliAnaPhotonConvInCalo,1)
+ AliAnaPhotonConvInCalo( const AliAnaPhotonConvInCalo & g) ; // cpy ctor
+ AliAnaPhotonConvInCalo & operator = (const AliAnaPhotonConvInCalo & g) ; // cpy assignment
+
+ ClassDef(AliAnaPhotonConvInCalo,1)
} ;
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: $ */
//_________________________________________________________________________
// Class to collect two-photon invariant mass distributions for
// it will do nothing if executed alone
//
//-- Author: Dmitri Peressounko (RRC "KI")
-//-- Adapted to PartCorr frame by Lamia Benhabib (SUBATECH)
+//-- Adapted to CaloTrackCorr frame by Lamia Benhabib (SUBATECH)
//-- and Gustavo Conesa (INFN-Frascati)
//_________________________________________________________________________
ClassImp(AliAnaPi0)
//________________________________________________________________________________________________________________________________________________
-AliAnaPi0::AliAnaPi0() : AliAnaPartCorrBaseClass(),
+AliAnaPi0::AliAnaPi0() : AliAnaCaloTrackCorrBaseClass(),
fDoOwnMix(kFALSE), fEventsList(0x0),
fCalorimeter(""), fNModules(12),
fUseAngleCut(kFALSE), fUseAngleEDepCut(kFALSE), fAngleCut(0), fAngleMaxCut(7.),
char key[buffersize] ;
char title[buffersize] ;
- Int_t nptbins = GetHistoPtBins();
- Int_t nphibins = GetHistoPhiBins();
- Int_t netabins = GetHistoEtaBins();
- Float_t ptmax = GetHistoPtMax();
- Float_t phimax = GetHistoPhiMax();
- Float_t etamax = GetHistoEtaMax();
- Float_t ptmin = GetHistoPtMin();
- Float_t phimin = GetHistoPhiMin();
- Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax();
+ Float_t phimax = GetHistogramRanges()->GetHistoPhiMax();
+ Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
- Int_t nmassbins = GetHistoMassBins();
- Int_t nasymbins = GetHistoAsymmetryBins();
- Float_t massmax = GetHistoMassMax();
- Float_t asymmax = GetHistoAsymmetryMax();
- Float_t massmin = GetHistoMassMin();
- Float_t asymmin = GetHistoAsymmetryMin();
- Int_t ntrmbins = GetHistoTrackMultiplicityBins();
- Int_t ntrmmax = GetHistoTrackMultiplicityMax();
- Int_t ntrmmin = GetHistoTrackMultiplicityMin();
+ Int_t nmassbins = GetHistogramRanges()->GetHistoMassBins();
+ Int_t nasymbins = GetHistogramRanges()->GetHistoAsymmetryBins();
+ Float_t massmax = GetHistogramRanges()->GetHistoMassMax();
+ Float_t asymmax = GetHistogramRanges()->GetHistoAsymmetryMax();
+ Float_t massmin = GetHistogramRanges()->GetHistoMassMin();
+ Float_t asymmin = GetHistogramRanges()->GetHistoAsymmetryMin();
+ Int_t ntrmbins = GetHistogramRanges()->GetHistoTrackMultiplicityBins();
+ Int_t ntrmmax = GetHistogramRanges()->GetHistoTrackMultiplicityMax();
+ Int_t ntrmmin = GetHistogramRanges()->GetHistoTrackMultiplicityMin();
if(GetNCentrBin() > 1 && (fUseAverCellEBins||fUseAverClusterEBins||fUseAverClusterEDenBins)){
{
//Print some relevant parameters set for the analysis
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Number of bins in Centrality: %d \n",GetNCentrBin()) ;
printf("Number of bins in Z vert. pos: %d \n",GetNZvertBin()) ;
}// pid bit cut loop
}// icell loop
}// pt cut loop
- if(GetHistoTrackMultiplicityBins()){
+ if(GetHistogramRanges()->GetHistoTrackMultiplicityBins()){
for(Int_t iasym = 0; iasym < fNAsymCuts; iasym++){
if(a < fAsymCuts[iasym])fhRePtMult[iasym]->Fill(pt,GetTrackMultiplicity(),m) ;
}
#define ALIANAPI0_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: $ */
//_________________________________________________________________________
// Class to fill two-photon invariant mass histograms
// it will do nothing if executed alone
//
//-- Author: Dmitri Peressounko (RRC "KI")
-//-- Adapted to PartCorr frame by Lamia Benhabib (SUBATECH)
+//-- Adapted to CaloTrackCorr frame by Lamia Benhabib (SUBATECH)
//-- and Gustavo Conesa (INFN-Frascati)
//Root
class TObjString;
//Analysis
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
class AliAODEvent ;
class AliESDEvent ;
class AliAODPWG4Particle ;
-class AliAnaPi0 : public AliAnaPartCorrBaseClass {
+class AliAnaPi0 : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaPi0() ; // default ctor
TH2F * fhReMCFromNotConversion ; //! Invariant mass of 2 clusters not originated in conversions
TH2F * fhReMCFromMixConversion ; //! Invariant mass of 2 clusters one from conversion and the other not
- AliAnaPi0(const AliAnaPi0 & g) ; // cpy ctor
- AliAnaPi0 & operator = (const AliAnaPi0 & api0) ;//cpy assignment
+ AliAnaPi0( const AliAnaPi0 & api0) ; // cpy ctor
+ AliAnaPi0 & operator = (const AliAnaPi0 & api0) ; // cpy assignment
ClassDef(AliAnaPi0,22)
} ;
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: AliAnaPi0EbE.cxx 28688 2008-09-11 15:04:07Z gconesab $ */
//_________________________________________________________________________
// Class for the analysis of high pT pi0 event by event
//____________________________
AliAnaPi0EbE::AliAnaPi0EbE() :
- AliAnaPartCorrBaseClass(), fAnaType(kIMCalo), fCalorimeter(""),
- fMinDist(0.),fMinDist2(0.), fMinDist3(0.), fFillWeightHistograms(kFALSE),
+ AliAnaCaloTrackCorrBaseClass(),fAnaType(kIMCalo), fCalorimeter(""),
+ fMinDist(0.),fMinDist2(0.), fMinDist3(0.), fFillWeightHistograms(kFALSE),
fInputAODGammaConvName(""),
//Histograms
fhPtPi0(0), fhEPi0(0),
TList * outputContainer = new TList() ;
outputContainer->SetName("Pi0EbEHistos") ;
- Int_t nptbins = GetHistoPtBins(); Float_t ptmax = GetHistoPtMax(); Float_t ptmin = GetHistoPtMin();
- Int_t nphibins = GetHistoPhiBins(); Float_t phimax = GetHistoPhiMax(); Float_t phimin = GetHistoPhiMin();
- Int_t netabins = GetHistoEtaBins(); Float_t etamax = GetHistoEtaMax(); Float_t etamin = GetHistoEtaMin();
- Int_t ssbins = GetHistoShowerShapeBins(); Float_t ssmax = GetHistoShowerShapeMax(); Float_t ssmin = GetHistoShowerShapeMin();
- Int_t tdbins = GetHistoDiffTimeBins() ; Float_t tdmax = GetHistoDiffTimeMax(); Float_t tdmin = GetHistoDiffTimeMin();
- Int_t tbins = GetHistoTimeBins() ; Float_t tmax = GetHistoTimeMax(); Float_t tmin = GetHistoTimeMin();
- Int_t nbins = GetHistoNClusterCellBins(); Int_t nmax = GetHistoNClusterCellMax(); Int_t nmin = GetHistoNClusterCellMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins(); Float_t ptmax = GetHistogramRanges()->GetHistoPtMax(); Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins(); Float_t phimax = GetHistogramRanges()->GetHistoPhiMax(); Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins(); Float_t etamax = GetHistogramRanges()->GetHistoEtaMax(); Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
+ Int_t ssbins = GetHistogramRanges()->GetHistoShowerShapeBins(); Float_t ssmax = GetHistogramRanges()->GetHistoShowerShapeMax(); Float_t ssmin = GetHistogramRanges()->GetHistoShowerShapeMin();
+ Int_t tdbins = GetHistogramRanges()->GetHistoDiffTimeBins() ; Float_t tdmax = GetHistogramRanges()->GetHistoDiffTimeMax(); Float_t tdmin = GetHistogramRanges()->GetHistoDiffTimeMin();
+ Int_t tbins = GetHistogramRanges()->GetHistoTimeBins() ; Float_t tmax = GetHistogramRanges()->GetHistoTimeMax(); Float_t tmin = GetHistogramRanges()->GetHistoTimeMin();
+ Int_t nbins = GetHistogramRanges()->GetHistoNClusterCellBins(); Int_t nmax = GetHistogramRanges()->GetHistoNClusterCellMax(); Int_t nmin = GetHistogramRanges()->GetHistoNClusterCellMin();
fhPtPi0 = new TH1F("hPtPi0","Number of identified #pi^{0} decay",nptbins,ptmin,ptmax);
fhPtPi0->SetYTitle("N");
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print("");
+ AliAnaCaloTrackCorrBaseClass::Print("");
printf("Analysis Type = %d \n", fAnaType) ;
if(fAnaType == kSSCalo){
printf("Calorimeter = %s\n", fCalorimeter.Data()) ;
#define ALIANAPI0EBE_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: AliAnaPi0EbE.h 27413 2008-07-18 13:28:12Z gconesab $ */
//_________________________________________________________________________
//
class TObjString;
// --- ANALYSIS system ---
-#include "AliAnaPartCorrBaseClass.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
-class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {
+class AliAnaPi0EbE : public AliAnaCaloTrackCorrBaseClass {
public:
AliAnaPi0EbE() ; // default ctor
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id: AliAnaPhoton.cxx 28688 2008-09-11 15:04:07Z gconesab $ */
//_________________________________________________________________________
//
#include "AliAODCaloCluster.h"
#include "AliAODMCParticle.h"
#include "AliAnalysisManager.h"
-#include "AliAnalysisTaskParticleCorrelation.h"
#include "AliAODEvent.h"
//____________________________________________________________________________
AliAnaShowerParameter::AliAnaShowerParameter() :
-AliAnaPartCorrBaseClass(), fCalorimeter(""), fNCellsCutMin(0),
+AliAnaCaloTrackCorrBaseClass(), fCalorimeter(""), fNCellsCutMin(0),
fNCellsCutMax(0), fLambdaCut(0), fTimeCutMin(-1), fTimeCutMax(9999999),
fhNClusters(0), fhNCellCluster(0), fhEtaPhiPtCluster(0),
fhLambdaPtCluster(0),
TList * outputContainer = new TList() ;
outputContainer->SetName("PhotonHistos") ;
- Int_t nptbins = GetHistoPtBins();
- Int_t nphibins = GetHistoPhiBins();
- Int_t netabins = GetHistoEtaBins();
- Float_t ptmax = GetHistoPtMax();
- Float_t phimax = GetHistoPhiMax();
- Float_t etamax = GetHistoEtaMax();
- Float_t ptmin = GetHistoPtMin();
- Float_t phimin = GetHistoPhiMin();
- Float_t etamin = GetHistoEtaMin();
+ Int_t nptbins = GetHistogramRanges()->GetHistoPtBins();
+ Int_t nphibins = GetHistogramRanges()->GetHistoPhiBins();
+ Int_t netabins = GetHistogramRanges()->GetHistoEtaBins();
+ Float_t ptmax = GetHistogramRanges()->GetHistoPtMax();
+ Float_t phimax = GetHistogramRanges()->GetHistoPhiMax();
+ Float_t etamax = GetHistogramRanges()->GetHistoEtaMax();
+ Float_t ptmin = GetHistogramRanges()->GetHistoPtMin();
+ Float_t phimin = GetHistogramRanges()->GetHistoPhiMin();
+ Float_t etamin = GetHistogramRanges()->GetHistoEtaMin();
//General non-MC Cluster histograms
fhNClusters = new TH1F ("hNClusters","NClusters",21,-0.5,20.5);
return;
printf("**** Print %s %s ****\n", GetName(), GetTitle() ) ;
- AliAnaPartCorrBaseClass::Print(" ");
+ AliAnaCaloTrackCorrBaseClass::Print(" ");
printf("Calorimeter = %s\n", fCalorimeter.Data()) ;
printf("Min number of cells in cluster is > %f \n", fNCellsCutMin);
printf("Max number of cells in cluster is > %f \n", fNCellsCutMax);
#define ALIANASHOWERPARAMETER_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id: AliAnaShowerParameter.h 27413 2008-07-18 13:28:12Z gconesab $ */
//_________________________________________________________________________
//
class TString ;
// --- ANALYSIS system ---
-#include "AliAnaPartCorrBaseClass.h"
-//#include "AliStack.h"
-//#include "TParticle.h"
+#include "AliAnaCaloTrackCorrBaseClass.h"
class AliStack;
class TParticle;
class TList ;
-class AliAnaShowerParameter : public AliAnaPartCorrBaseClass {
+class AliAnaShowerParameter : public AliAnaCaloTrackCorrBaseClass {
public:
TString kInputDataType = "ESD";
TString kCalorimeter = "EMCAL";
-AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(
+AliAnalysisTaskCaloTrackCorrelation *AddTaskCaloTrackCorr(
const TString data = "AOD",
const TString calorimeter = "EMCAL",
const Bool_t printSettings = kFALSE,
// #### Configure analysis ####
- AliAnaPartCorrMaker * maker = new AliAnaPartCorrMaker();
+ AliAnaCaloTrackCorrMaker * maker = new AliAnaCaloTrackCorrMaker();
// General frame setting and configuration
maker->SetReader (ConfigureReader() );
// Analysis tasks setting and configuration
Int_t n = 0;//Analysis number, order is important
-
maker->AddAnalysis(ConfigureQAAnalysis() , n++);
// Isolation settings
maker->AddAnalysis(ConfigureIsolationAnalysis("Hadron",partInCone,thresType), n++); // track isolation
maker->AddAnalysis(ConfigureHadronCorrelationAnalysis("Hadron",kFALSE), n++); // track-track correlation
maker->AddAnalysis(ConfigureHadronCorrelationAnalysis("Hadron",kTRUE) , n++); // Isolated track-track correlation
- }
+ }
else
{
maker->AddAnalysis(ConfigurePhotonAnalysis(), n++); // Photon cluster selection
maker->AddAnalysis(ConfigureIsolationAnalysis("Photon", partInCone,thresType), n++); // Photon isolation
maker->AddAnalysis(ConfigureIsolationAnalysis("Pi0", partInCone,thresType), n++); // Pi0 isolation
-
+
maker->AddAnalysis(ConfigureHadronCorrelationAnalysis("Photon",kFALSE), n++); // Gamma hadron correlation
maker->AddAnalysis(ConfigureHadronCorrelationAnalysis("Photon",kTRUE) , n++); // Isolated gamma hadron correlation
maker->AddAnalysis(ConfigureHadronCorrelationAnalysis("Pi0" ,kFALSE), n++); // Pi0 hadron correlation
maker->AddAnalysis(ConfigureHadronCorrelationAnalysis("Pi0" ,kTRUE) , n++); // Isolated pi0 hadron correlation
-
- //maker->AddAnalysis(ConfigurePi0EbEAnalysis("Pi0", AliAnaPi0EbE::kIMCaloTracks), n++); // Pi0 (calo+conversion) event by event selection,
- // and photon tagging from decay, need to execute at the same time conversions analysis
- //maker->AddAnalysis(ConfigureIsolationAnalysis("Pi0Conv",partInCone,thresType), n++); // Pi0 (Calo+Conv) isolation
-
+ /*
+ if(kInputDataType=="ESD"){
+ printf("* Configure conversion analysis in part corr\n");
+ maker->AddAnalysis(ConfigurePi0EbEAnalysis("Pi0", AliAnaPi0EbE::kIMCaloTracks), n++); // Pi0 (calo+conversion) event by event selection,
+ // and photon tagging from decay, need to execute at the same time conversions analysis
+ maker->AddAnalysis(ConfigureIsolationAnalysis("Pi0Conv",partInCone,thresType), n++); // Pi0 (Calo+Conv) isolation
+ }
+ */
}
-
+
maker->SetAnaDebug(-1) ;
maker->SwitchOnHistogramsMaker() ;
if(kData.Contains("delta")) maker->SwitchOffAODsMaker() ;
// Create task
- AliAnalysisTaskParticleCorrelation * task = new AliAnalysisTaskParticleCorrelation (Form("PartCorr%s_Trig%s_Cl%s",kCalorimeter.Data(),kTrig.Data(),kClusterArray.Data()));
+ AliAnalysisTaskCaloTrackCorrelation * task = new AliAnalysisTaskCaloTrackCorrelation (Form("PartCorr%s_Trig%s_Cl%s",kCalorimeter.Data(),kTrig.Data(),kClusterArray.Data()));
task->SetConfigFileName(""); //Don't configure the analysis via configuration file.
//task->SetDebugLevel(-1);
task->SetBranches("ESD:AliESDRun.,AliESDHeader"); //just a trick to get Constantin's analysis to work
// Centrality
reader->SetCentralityClass("V0M");
- reader->SetCentralityOpt("10"); // 10 centrality bins
+ reader->SetCentralityOpt(10); // 10 (c= 0-10, 10-20 ...), 20 (c= 0-5, 5-10 ...) or 100 (c= 1, 2, 3 ..)
reader->SetCentralityBin(-1,-1); // Accept all events, if not select range
// Event plane (only used in AliAnaPi0 for the moment)
//Set Histograms name tag, bins and ranges
anaphoton->AddToHistogramsName("AnaPhoton_");
- SetHistoRangeAndNBins(anaphoton); // see method below
+ SetHistoRangeAndNBins(anaphoton->GetHistogramRanges()); // see method below
// Number of particle type MC histograms
anaphoton->FillNOriginHistograms(8);
anaphoton->FillNPrimaryHistograms(4);
+ if(kSimulation) anaphoton->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
+ else anaphoton->SwitchOffDataMC() ;
+
if(kPrint) anaphoton->Print("");
return anaphoton;
//Set Histograms name tag, bins and ranges
anatrack->AddToHistogramsName("AnaHadrons_");
- SetHistoRangeAndNBins(anatrack); // see method below
+ SetHistoRangeAndNBins(anatrack->GetHistogramRanges()); // see method below
+ if(kSimulation) anatrack->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
+ else anatrack->SwitchOffDataMC() ;
+
if(kPrint) anatrack->Print("");
return anatrack;
//Set Histograms name tag, bins and ranges
anapi0->AddToHistogramsName("AnaPi0_");
- SetHistoRangeAndNBins(anapi0); // see method below
+ SetHistoRangeAndNBins(anapi0->GetHistogramRanges()); // see method below
+ if(kSimulation) anapi0->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
+ else anapi0->SwitchOffDataMC() ;
+
return anapi0;
}
//Set Histograms name tag, bins and ranges
anapi0ebe->AddToHistogramsName(Form("Ana%s%sEbE_",particle.Data(),opt.Data()));
- SetHistoRangeAndNBins(anapi0ebe); // see method below
+ SetHistoRangeAndNBins(anapi0ebe->GetHistogramRanges()); // see method below
+
+ if(kSimulation) anapi0ebe->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
+ else anapi0ebe->SwitchOffDataMC() ;
if(kPrint) anapi0ebe->Print("");
//Set Histograms name tag, bins and ranges
anaisol->AddToHistogramsName(Form("AnaIsol%s_",particle.Data()));
- SetHistoRangeAndNBins(anaisol); // see method below
+ SetHistoRangeAndNBins(anaisol->GetHistogramRanges()); // see method below
if(kPrint) ic ->Print("");
if(kPrint) anaisol->Print("");
+ if(kSimulation) anaisol->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
+ else anaisol->SwitchOffDataMC() ;
+
return anaisol;
}
//Set Histograms name tag, bins and ranges
anacorrhadron->AddToHistogramsName(Form("Ana%sHadronCorr_Iso%d_",particle.Data(),bIsolated));
- SetHistoRangeAndNBins(anacorrhadron); // see method below
+ SetHistoRangeAndNBins(anacorrhadron->GetHistogramRanges()); // see method below
+
+ if(kSimulation) anacorrhadron->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
+ else anacorrhadron->SwitchOffDataMC() ;
if(kPrint) anacorrhadron->Print("");
anaQA->SwitchOffFillAllTH3Histogram();
anaQA->SwitchOffFillAllPositionHistogram();
anaQA->SwitchOffFillAllPositionHistogram2();
-
- anaQA->SwitchOffStudyBadClusters() ; // On only for EMCAL
+ anaQA->SwitchOffStudyBadClusters();
anaQA->SwitchOffStudyClustersAsymmetry();
anaQA->SwitchOffStudyWeight();
anaQA->SwitchOffFillAllTrackMatchingHistogram();
}
anaQA->AddToHistogramsName("QA_"); //Begining of histograms name
- SetHistoRangeAndNBins(anaQA); // see method below
+ SetHistoRangeAndNBins(anaQA->GetHistogramRanges()); // see method below
+
+ if(kSimulation) anaQA->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
+ else anaQA->SwitchOffDataMC() ;
if(kPrint) anaQA->Print("");
}
//________________________________________________________
-void SetHistoRangeAndNBins (AliAnaPartCorrBaseClass* ana)
+void SetHistoRangeAndNBins (AliHistogramRanges* ana)
{
// Set common bins for all analysis and MC histograms filling
-
- if(kSimulation) ana->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
- else ana->SwitchOffDataMC() ;
-
+
ana->SetHistoPtRangeAndNBins(0, 100, 250) ; // Energy and pt histograms
if(kCalorimeter=="EMCAL"){
}
+ if(kClusterArray=="" && kCalorimeter!="PHOS"){ // Tracks analysis
+ ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 200) ;
+ ana->SetHistoEtaRangeAndNBins(-1.5, 1.5, 300) ;
+ }
+
ana->SetHistoShowerShapeRangeAndNBins(0, 3, 300);
// Invariant mass analysis
-AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calorimeter, Bool_t kPrintSettings = kFALSE)
+AliAnalysisTaskParticleCorrelationM *AddTaskCaloTrackCorrM(TString data, TString calorimeter, Bool_t kPrintSettings = kFALSE)
{
- // Creates a PartCorr task, configures it and adds it to the analysis manager.
+ // Creates a CaloTrackCorr task, configures it and adds it to the analysis manager.
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
- ::Error("AddTaskPartCorr", "No analysis manager to connect to.");
+ ::Error("AddTaskCaloTrackCorr", "No analysis manager to connect to.");
return NULL;
}
Bool_t kUseKinematics = kFALSE;
cu->SetNumberOfCellsFromEMCALBorder(1) ; //nEMCAL);
cu->SetNumberOfCellsFromPHOSBorder(2) ; //nPHOS);
- // cu->SwitchOnNoFiducialBorderInEMCALEta0();
- cu->SetPHOSChannelStatus(1,48, 8); //PHOS new hot channel
-
- // // Remove EMCAL hottest channels from Gustavo list
- // SM0
- cu->SetEMCALChannelStatus(0,3,13); cu->SetEMCALChannelStatus(0,44,1); cu->SetEMCALChannelStatus(0,3,13); //warm
- cu->SetEMCALChannelStatus(0,20,7); cu->SetEMCALChannelStatus(0,38,2); //hot
- // SM1 warm channels
- cu->SetEMCALChannelStatus(1,4,7); cu->SetEMCALChannelStatus(1,4,13); cu->SetEMCALChannelStatus(1,9,20);
- cu->SetEMCALChannelStatus(1,14,15); cu->SetEMCALChannelStatus(1,23,16); cu->SetEMCALChannelStatus(1,32,23);
- cu->SetEMCALChannelStatus(1,37,5); cu->SetEMCALChannelStatus(1,40,1); cu->SetEMCALChannelStatus(1,40,2);
- cu->SetEMCALChannelStatus(1,40,5); cu->SetEMCALChannelStatus(1,41,0); cu->SetEMCALChannelStatus(1,41,1);
- cu->SetEMCALChannelStatus(1,41,2); cu->SetEMCALChannelStatus(1,41,4);
- // SM2
- cu->SetEMCALChannelStatus(2,14,15); cu->SetEMCALChannelStatus(2,18,16); cu->SetEMCALChannelStatus(2,18,17);
- cu->SetEMCALChannelStatus(2,18,18); cu->SetEMCALChannelStatus(2,18,20); cu->SetEMCALChannelStatus(2,18,21);
- cu->SetEMCALChannelStatus(2,18,23); cu->SetEMCALChannelStatus(2,19,16); cu->SetEMCALChannelStatus(2,19,17);
- cu->SetEMCALChannelStatus(2,19,19); cu->SetEMCALChannelStatus(2,19,20); cu->SetEMCALChannelStatus(2,19,21);
- cu->SetEMCALChannelStatus(2,19,22);
- //SM3
- cu->SetEMCALChannelStatus(3,4,7);
-
+
// -----------------------------------
// --- Photon and Pi0 Analysis ---
// -----------------------------------
else anaphoton->SetOutputAODName(Form("Triggers%s",calorimeter.Data()));
anaphoton->AddToHistogramsName("AnaPhoton_");
//Set Histograms bins and ranges
- anaphoton->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anaphoton->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anaphoton->Print("");
AliAnaPi0 *anapi0 = new AliAnaPi0();
anapi0->SwitchOffDataMC() ;//Access MC stack and fill more histograms
if(calorimeter=="PHOS") anapi0->SetNumberOfModules(3); //PHOS first year
else if(calorimeter=="EMCAL") anapi0->SetNumberOfModules(4); //EMCAL first year
- anapi0->SetHistoPtRangeAndNBins(0, 50, 100) ;
- //anapi0->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- //anapi0->SetHistoEtaRangeAndNBins(-0.8, 0.8, 200) ;
- anapi0->SetHistoMassRangeAndNBins(0., 1.0, 100) ;
- anapi0->SetHistoAsymmetryRangeAndNBins(0., 1. , 10) ;
+ anapi0->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ //anapi0->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ //anapi0->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.8, 0.8, 200) ;
+ anapi0->GetHistogramRanges()->SetHistoMassRangeAndNBins(0., 1.0, 100) ;
+ anapi0->GetHistogramRanges()->SetHistoAsymmetryRangeAndNBins(0., 1. , 10) ;
if(kPrintSettings) anapi0->Print("");
// -------------------------------------------------
//Set Histrograms bins and ranges
nms->SetHistoERangeAndNBins(0, 50, 100) ;
nms->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // nms->SetHistoAngleRangeAndNBins(0, 0.3, 100) ;
- // nsm->SetHistoIMRangeAndNBins(0, 0.4, 100) ;
+ // nms->GetHistogramRanges()->SetHistoAngleRangeAndNBins(0, 0.3, 100) ;
+ // nsm->GetHistogramRanges()->SetHistoIMRangeAndNBins(0, 0.4, 100) ;
AliAnaPi0EbE *anapi0ebe = new AliAnaPi0EbE();
anapi0ebe->SetDebug(-1);//10 for lots of messages
anapi0ebe->SetMultiBin(1);
anapi0ebe->SetNeutralMesonSelection(nms);
//Set Histrograms bins and ranges
- anapi0ebe->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // anapi0->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // anapi0->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anapi0ebe->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // anapi0->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // anapi0->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anapi0ebe->Print("");
// ### Pi0 Correlation with hadrons, not isolated
// anacorrhadronpi0->SwitchOnCaloPIDRecalculation(); //recommended for EMCAL
//}
//Set Histograms bins and ranges
- anacorrhadronpi0->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anacorrhadronpi0->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anacorrhadronpi0->Print("");
AliAnaParticleIsolation *anaisolpi0 = new AliAnaParticleIsolation();
//Multiple IC
anaisolpi0->SwitchOffSeveralIsolation() ;
//Set Histograms bins and ranges
- anaisolpi0->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anaisolpi0->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anaisol->Print("");
// ### Pi0 Correlation with hadrons, isolated
// anacorrhadronpi0->SwitchOnCaloPIDRecalculation(); //recommended for EMCAL
//}
//Set Histograms bins and ranges
- anacorrhadronisopi0->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anacorrhadronisopi0->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anacorrhadronisopi0->Print("");
} //analysis in calorimeter
else anacharge->SetOutputAODName(Form("Triggers%s",calorimeter.Data()));
anacharge->AddToHistogramsName("AnaCharge_");
//Set Histograms bins and ranges
- anacharge->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anacharge->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anacharge->Print("");
}
//anacorrhadron->SwitchOnCaloPIDRecalculation(); //recommended for EMCAL
//}
//Set Histograms bins and ranges
- anacorrhadron->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anacorrhadron->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anacorrhadron->Print("");
//Multiple IC
anaisol->SwitchOffSeveralIsolation() ;
//Set Histograms bins and ranges
- anaisol->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anaisol->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anaisol->Print("");
//anacorrhadron->SwitchOnCaloPIDRecalculation(); //recommended for EMCAL
//}
//Set Histograms bins and ranges
- anacorrisohadron->SetHistoPtRangeAndNBins(0, 50, 100) ;
- // ana->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
- // ana->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
+ anacorrisohadron->GetHistogramRanges()->SetHistoPtRangeAndNBins(0, 50, 100) ;
+ // ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
+ // ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
if(kPrintSettings) anacorrisohadron->Print("");
// #### Configure Maker ####
- AliAnaPartCorrMaker * maker = new AliAnaPartCorrMaker();
+ AliAnaCaloTrackCorrMaker * maker = new AliAnaCaloTrackCorrMaker();
maker->SetReader(reader);//pointer to reader
Int_t n = 0;//Analysis number, order is important
// Particle selection analysis
if(kPrintSettings) maker->Print("");
printf("======================== \n");
- printf(" End Configuration of PartCorr analysis with detector %s \n",calorimeter.Data());
+ printf(" End Configuration of CaloTrackCorr analysis with detector %s \n",calorimeter.Data());
printf("======================== \n");
// Create task
//===========================================================================
- // AliAnalysisTaskParticleCorrelationM * task = new AliAnalysisTaskParticleCorrelationM(Form("PartCorr%s",calorimeter.Data()));
- AliAnalysisTaskParticleCorrelationM * task = new AliAnalysisTaskParticleCorrelationM("PartCorr");
+ // AliAnalysisTaskParticleCorrelationM * task = new AliAnalysisTaskParticleCorrelationM(Form("CaloTrackCorr%s",calorimeter.Data()));
+ AliAnalysisTaskParticleCorrelationM * task = new AliAnalysisTaskParticleCorrelationM("CaloTrackCorr");
task->SetConfigFileName(""); //Don't configure the analysis via configuration file.
//task->SetDebugLevel(-1);
task->SetAnalysisMaker(maker);
mgr->AddTask(task);
// char name[128];
-// sprintf(name,"PartCorr_%s",calorimeter.Data());
+// sprintf(name,"CaloTrackCorr_%s",calorimeter.Data());
// cout<<"Name of task "<<name<<endl;
//AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(Form(name),TList::Class(),
- // AliAnalysisManager::kOutputContainer, Form("PartCorr_%s.root",calorimeter.Data()));
+ // AliAnalysisManager::kOutputContainer, Form("CaloTrackCorr_%s.root",calorimeter.Data()));
TString outputfile = AliAnalysisManager::GetCommonFileName();
outputfile.ReplaceAll(".root","") ;
outputfile.Append("M.root") ;
- // AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(Form("PartCorr_%s",calorimeter.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:PartCorr_%s",outputfile.Data(),calorimeter.Data()));
+ // AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(Form("CaloTrackCorr_%s",calorimeter.Data()), TList::Class(), AliAnalysisManager::kOutputContainer, Form("%s:CaloTrackCorr_%s",outputfile.Data(),calorimeter.Data()));
AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(calorimeter.Data(), TList::Class(),
AliAnalysisManager::kOutputContainer,
- Form("%s:PartCorr",outputfile.Data()));
+ Form("%s:CaloTrackCorr",outputfile.Data()));
AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form("%sCuts",calorimeter.Data()), TList::Class(),
AliAnalysisManager::kParamContainer,
- Form("%s:PartCorrCuts",outputfile.Data()));
+ Form("%s:CaloTrackCorrCuts",outputfile.Data()));
// Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
/* $Id: $ */
//--------------------------------------------------
// Example macro to do analysis with the
-// analysis classes in PWG4PartCorr
+// analysis classes in CaloTrackCorrelations
// Can be executed with Root and AliRoot
//
// Pay attention to the options and definitions
}
}
+
// AOD output handler
if(kInputData!="deltaAOD" && outAOD)
{
// AOD handler
AliAODInputHandler *aodHandler = new AliAODInputHandler();
mgr->SetInputEventHandler(aodHandler);
- if(kInputData == "deltaAOD") aodHandler->AddFriend("deltaAODPartCorr.root");
+ if(kInputData == "deltaAOD") aodHandler->AddFriend("deltaAODCaloTrackCorr.root");
cout<<"AOD handler "<<mgr->GetInputEventHandler()<<endl;
}
- //mgr->RegisterExternalFile("deltaAODPartCorr.root");
+ //mgr->RegisterExternalFile("deltaAODCaloTrackCorr.root");
//mgr->SetDebugLevel(1); // For debugging, do not uncomment if you want no messages.
TString outputFile = AliAnalysisManager::GetCommonFileName();
{
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
AliCentralitySelectionTask *taskCentrality = AddTaskCentrality();
- taskCentrality->SetPass(2); // remember to set the pass you are processing!!!
}
// Simple event counting tasks
AddTaskCounter(""); // All
- AddTaskCounter("MB"); // Min Bias
+ //AddTaskCounter("MB"); // Min Bias
if(!kMC)
{
AddTaskCounter("INT7"); // Min Bias
- AddTaskCounter("EMC1"); // Trig Th > 1.5 GeV approx
+ //AddTaskCounter("EMC1"); // Trig Th > 1.5 GeV approx
AddTaskCounter("EMC7"); // Trig Th > 4-5 GeV
AddTaskCounter("PHOS"); //
}
+
+ // -----------------
+ // Photon conversion
+ // -----------------
+/*
+ if(kInputData=="ESD"){
+ printf("* Configure photon conversion analysis in macro \n");
+ TString arguments = "-run-on-train -use-own-xyz -force-aod -mc-off ";
+ gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/ConfigGammaConversion.C");
+ AliAnalysisTaskGammaConversion * taskGammaConversion =
+ ConfigGammaConversion(arguments,mgr->GetCommonInputContainer());
+ taskGammaConversion->SelectCollisionCandidates();
+
+ // Gamma Conversion AOD to AODPWG4Particle
+ AliAnalysisTaskGCPartToPWG4Part * taskGCToPC = new AliAnalysisTaskGCPartToPWG4Part("GCPartToPWG4Part");
+ taskGCToPC->SetGammaCutId("90035620401003321022000000090");
+ mgr->AddTask(taskGCToPC);
+ mgr->ConnectInput (taskGCToPC, 0, mgr->GetCommonInputContainer() );
+ mgr->ConnectOutput (taskGCToPC, 0, mgr->GetCommonOutputContainer());
+ }
+*/
Bool_t kPrint = kFALSE;
Bool_t deltaAOD = kFALSE;
+ gROOT->LoadMacro("AddTaskCaloTrackCorr.C"); // $ALICE_ROOT/PWG4/macros
+ gROOT->LoadMacro("AddTaskEMCALClusterize.C"); // $ALICE_ROOT/PWG4/CaloCalib/macros
- gROOT->LoadMacro("AddTaskPartCorr.C"); // $ALICE_ROOT/PWG4/macros
- gROOT->LoadMacro("AddTaskEMCALClusterize.C"); // $ALICE_ROOT/PWG4/CaloCalib/macros
// ------
// Tracks
// ------
-
+
// Track isolation-correlation analysis and EMCAL QA analysis
- AliAnalysisTaskParticleCorrelation *anamb = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anamb = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"INT7",""); // PHOS trigger
- AliAnalysisTaskParticleCorrelation *anatr = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anatr = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"EMC7","");
+
// -----
// EMCAL
// -----
if(!kMC)
{
- AliAnalysisTaskParticleCorrelation *anav1tr = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav1tr = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"EMC7",arrayNameV1);
- AliAnalysisTaskParticleCorrelation *anav1mb = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav1mb = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"INT7",arrayNameV1);
}
else
{// No trigger (should be MB, but for single particle productions it does not work)
- AliAnalysisTaskParticleCorrelation *anav1 = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav1 = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"",arrayNameV1);
}
+
//Analysis with clusterizer V2
AliAnalysisTaskEMCALClusterize * clv2 = AddTaskEMCALClusterize(kMC,"V2",clTrigger,kRun,kPass, bTrackMatch,
minEcell,minEseed,dTime,wTime);
if(!kMC)
{
- AliAnalysisTaskParticleCorrelation *anav2tr = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav2tr = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"EMC7",arrayNameV2);
- AliAnalysisTaskParticleCorrelation *anav2mb = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav2mb = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"INT7",arrayNameV2);
}
else
{// No trigger (should be MB, but for single particle productions it does not work)
- AliAnalysisTaskParticleCorrelation *anav2 = AddTaskPartCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav2 = AddTaskCaloTrackCorr(kInputData, "EMCAL", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"",arrayNameV2);
}
-
+
+ /*
// -----
// PHOS
// -----
if(!kMC)
{
- AliAnalysisTaskParticleCorrelation *anav1tr = AddTaskPartCorr(kInputData, "PHOS", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav1tr = AddTaskCaloTrackCorr(kInputData, "PHOS", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"PHOS",""); // PHOS trigger
-
- AliAnalysisTaskParticleCorrelation *anav1mb = AddTaskPartCorr(kInputData, "PHOS", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav1mb = AddTaskCaloTrackCorr(kInputData, "PHOS", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"INT7","");
}
else
{// No trigger
- AliAnalysisTaskParticleCorrelation *anav1mb = AddTaskPartCorr(kInputData, "PHOS", kPrint,kMC, deltaAOD, outputFile.Data(),
+ AliAnalysisTaskCaloTrackCorrelation *anav1mb = AddTaskCaloTrackCorr(kInputData, "PHOS", kPrint,kMC, deltaAOD, outputFile.Data(),
kYear,kRun,kCollision,"","");
}
-
+
+ */
//-----------------------
// Run the analysis
//-----------------------
//gSystem->Load("libJETAN");
//gSystem->Load("FASTJETAN");
//gSystem->Load("PWG4JetTasks");
+
+ gSystem->Load("libCORRFW.so");
+ gSystem->Load("libPWG4GammaConv.so");
+ //SetupPar("PWG4GammaConv");
// needed for plugin?
gSystem->AddIncludePath("-I$ALICE_ROOT");
//-------------------------------------------------------------------------
//correlation analysis
- gROOT->LoadMacro("AddTaskPartCorrM.C");
+ gROOT->LoadMacro("AddTaskCaloTrackCorrM.C");
- AliAnalysisTaskParticleCorrelationM *taskEMCAL = AddTaskPartCorrM(kInputData,"EMCAL",kFALSE);
+ AliAnalysisTaskParticleCorrelationM *taskEMCAL = AddTaskCaloTrackCorrM(kInputData,"EMCAL",kFALSE);
mgr->AddTask(taskEMCAL);
- AliAnalysisTaskParticleCorrelationM *taskPHOS = AddTaskPartCorrM(kInputData,"PHOS", kFALSE);
+ AliAnalysisTaskParticleCorrelationM *taskPHOS = AddTaskCaloTrackCorrM(kInputData,"PHOS", kFALSE);
mgr->AddTask(taskPHOS);
//gROOT->LoadMacro("AddTaskChargeCorr.C");
- AliAnalysisTaskParticleCorrelationM *taskCharge = AddTaskPartCorrM(kInputData, "CTS",kFALSE);
+ AliAnalysisTaskParticleCorrelationM *taskCharge = AddTaskCaloTrackCorrM(kInputData, "CTS",kFALSE);
// if(!kMC)
// taskCharge->SelectCollisionCandidates();
mgr->AddTask(taskCharge);
SetupPar("PHOSUtils");
SetupPar("EMCALUtils");
- SetupPar("PWG4PartCorrBase");
- SetupPar("PWG4PartCorrDep");
+ SetupPar("PWG4CaloTrackCorrBase");
+ SetupPar("PWG4CaloTrackCorrDep");
}
else{
//--------------------------------------------------------
gSystem->Load("libANALYSISalice");
gSystem->Load("libPHOSUtils");
gSystem->Load("libEMCALUtils");
- gSystem->Load("libPWG4PartCorrBase");
- gSystem->Load("libPWG4PartCorrDep");
+ gSystem->Load("libPWG4CaloTrackCorrBase");
+ gSystem->Load("libPWG4CaloTrackCorrDep");
}
}