]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
AliCalorimeterUtils: Fix to be able to use PHOS bad map and geometry matrices
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Nov 2011 13:43:32 +0000 (13:43 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Nov 2011 13:43:32 +0000 (13:43 +0000)
AliAnaInsideClusterInvariantMass: Coverity mem leak
PartCorr* coding violations

39 files changed:
PWG4/PartCorrBase/AliAnalysisTaskCounter.h
PWG4/PartCorrBase/AliAnalysisTaskParticleCorrelationM.h
PWG4/PartCorrBase/AliCaloPID.cxx
PWG4/PartCorrBase/AliCaloPID.h
PWG4/PartCorrBase/AliCaloTrackAODReader.h
PWG4/PartCorrBase/AliCaloTrackMCReader.h
PWG4/PartCorrBase/AliCaloTrackReader.cxx
PWG4/PartCorrBase/AliCaloTrackReader.h
PWG4/PartCorrBase/AliCalorimeterUtils.cxx
PWG4/PartCorrBase/AliCalorimeterUtils.h
PWG4/PartCorrBase/AliFiducialCut.h
PWG4/PartCorrBase/AliIsolationCut.cxx
PWG4/PartCorrBase/AliIsolationCut.h
PWG4/PartCorrBase/AliMCAnalysisUtils.cxx
PWG4/PartCorrBase/AliMCAnalysisUtils.h
PWG4/PartCorrBase/AliNeutralMesonSelection.h
PWG4/PartCorrDep/AliAnaCalorimeterQA.cxx
PWG4/PartCorrDep/AliAnaCalorimeterQA.h
PWG4/PartCorrDep/AliAnaChargedParticles.h
PWG4/PartCorrDep/AliAnaElectron.cxx
PWG4/PartCorrDep/AliAnaElectron.h
PWG4/PartCorrDep/AliAnaInsideClusterInvariantMass.cxx
PWG4/PartCorrDep/AliAnaInsideClusterInvariantMass.h
PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.cxx
PWG4/PartCorrDep/AliAnaOmegaToPi0Gamma.h
PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.cxx
PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.h
PWG4/PartCorrDep/AliAnaParticleIsolation.h
PWG4/PartCorrDep/AliAnaParticleJetFinderCorrelation.cxx
PWG4/PartCorrDep/AliAnaParticleJetFinderCorrelation.h
PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.h
PWG4/PartCorrDep/AliAnaParticlePartonCorrelation.h
PWG4/PartCorrDep/AliAnaPhoton.cxx
PWG4/PartCorrDep/AliAnaPhoton.h
PWG4/PartCorrDep/AliAnaPi0.cxx
PWG4/PartCorrDep/AliAnaPi0.h
PWG4/PartCorrDep/AliAnaPi0EbE.cxx
PWG4/PartCorrDep/AliAnaPi0EbE.h
PWG4/PartCorrDep/AliAnaShowerParameter.h

index 4ce1bf517e8cacd124827e28a6cc1b4e28f4c5ef..9791f07d927acac155ca0a9f5b30391498eb0cfd 100644 (file)
@@ -23,28 +23,22 @@ class AliAnalysisTaskCounter : public AliAnalysisTaskSE {
   AliAnalysisTaskCounter(const char *name);  
   virtual ~AliAnalysisTaskCounter() ;
   
- private:  
-  AliAnalysisTaskCounter(const AliAnalysisTaskCounter&); // not implemented  
-  AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented
-  
- public: 
-  
   virtual void UserCreateOutputObjects();  
   virtual void UserExec(Option_t *option);  
   virtual void FinishTaskOutput();  
   
-  void SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut   = eta    ; }  
-  void SetZVertexCut(Float_t vcut)             { fZVertexCut        = vcut   ; }  
+  void    SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut   = eta    ; }  
+  void    SetZVertexCut(Float_t vcut)             { fZVertexCut        = vcut   ; }  
 
-  void SwitchOnCaloFilterPatch()               { fCaloFilterPatch   = kTRUE  ; } 
-  void SwitchOffCaloFilterPatch()              { fCaloFilterPatch   = kFALSE ; }  
-  Bool_t IsCaloFilterPatchOn()                 { return fCaloFilterPatch     ; }   
+  void    SwitchOnCaloFilterPatch()               { fCaloFilterPatch   = kTRUE  ; } 
+  void    SwitchOffCaloFilterPatch()              { fCaloFilterPatch   = kFALSE ; }  
+  Bool_t  IsCaloFilterPatchOn()            const  { return fCaloFilterPatch     ; }   
   
-  void AcceptFastCluster()                     { fAcceptFastCluster = kTRUE  ; } 
-  void RejectFastCluster()                     { fAcceptFastCluster = kFALSE ; }  
-  Bool_t IsFastClusterAccepted()               { return fAcceptFastCluster   ; }   
+  void    AcceptFastCluster()                     { fAcceptFastCluster = kTRUE  ; } 
+  void    RejectFastCluster()                     { fAcceptFastCluster = kFALSE ; }  
+  Bool_t  IsFastClusterAccepted()       const     { return fAcceptFastCluster   ; }   
   
-  Bool_t CheckForPrimaryVertex() ;
+  Bool_t  CheckForPrimaryVertex() ;
    
  private: 
   Bool_t               fAcceptFastCluster; // Accept events from fast cluster, exclude thiese events for LHC11a
@@ -64,6 +58,9 @@ class AliAnalysisTaskCounter : public AliAnalysisTaskSE {
   TH1F *  fhYGoodVertex;  //! Y Vertex good distribution
   TH1F *  fhZGoodVertex;  //! Z Vertex good distribution  
 
+  AliAnalysisTaskCounter(const AliAnalysisTaskCounter&); // not implemented  
+  AliAnalysisTaskCounter& operator=(const AliAnalysisTaskCounter&); // not implemented
+  
   ClassDef(AliAnalysisTaskCounter, 1);
 
 };
index c285dfa6bffab93718a65464d35f21d7c5519418..c43eaf717b61c7beee7d0838035013b722d27f8c 100755 (executable)
@@ -1,5 +1,5 @@
-#ifndef AliAnalysisTaskParticleCorrelationM_H
-#define AliAnalysisTaskParticleCorrelationM_H
+#ifndef ALIANALYSISTASKPARTICLECORRELATIONM_H
+#define ALIANALYSISTASKPARTICLECORRELATIONM_H
  
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
@@ -56,4 +56,4 @@ class AliAnalysisTaskParticleCorrelationM : public AliAnalysisTaskME
   ClassDef(AliAnalysisTaskParticleCorrelationM, 3); // Analysis task for standard gamma correlation analysis
 };
 
-#endif //AliAnalysisTaskParticleCorrelationM_H
+#endif //ALIANALYSISTASKPARTICLECORRELATIONM_H
index 70f0b72464e0b59c57e0795d4080ab4197b419fb..636d2f66a9a47e4b4a5b5b0c597ec5ddaad59ad3 100755 (executable)
@@ -46,7 +46,7 @@
 #include <TString.h>
 #include <TList.h>
 
-//---- ANALYSIS system ----
+// ---- ANALYSIS system ----
 #include "AliCaloPID.h"
 #include "AliVCluster.h"
 #include "AliVTrack.h"
@@ -54,6 +54,9 @@
 #include "AliCalorimeterUtils.h"
 #include "AliVEvent.h"
 
+// ---- Detector ----
+#include "AliEMCALPIDUtils.h"
+
 ClassImp(AliCaloPID)
 
 
@@ -250,6 +253,17 @@ void AliCaloPID::InitParameters()
   
 }
 
+//______________________________________________
+AliEMCALPIDUtils *AliCaloPID::GetEMCALPIDUtils() 
+{
+  // return pointer to AliEMCALPIDUtils, create it if needed
+  
+  if(!fEMCALPIDUtils) fEMCALPIDUtils = new AliEMCALPIDUtils ; 
+  return fEMCALPIDUtils ; 
+  
+}
+
+
 //______________________________________________________________________
 Int_t AliCaloPID::GetIdentifiedParticleType(const TString calo,
                                             const TLorentzVector mom, 
index ac6528a6f6191228cf83f3fd3a33462cb7b8e5ad..bf0dfa28ed205dc4104d88f54024a97707ea7bb9 100755 (executable)
@@ -39,7 +39,7 @@ class TH2F ;
 //--- AliRoot system ---
 class AliVCluster;
 class AliAODPWG4Particle;
-#include "AliEMCALPIDUtils.h"
+class AliEMCALPIDUtils;
 class AliCalorimeterUtils;
 class AliVEvent;
 
@@ -51,13 +51,7 @@ class AliCaloPID : public TObject {
   AliCaloPID(const Int_t particleFlux) ; // ctor, to be used when recalculating bayesian PID
   AliCaloPID(const TNamed * emcalpid) ; // ctor, to be used when recalculating bayesian PID and need different parameters
   virtual ~AliCaloPID() ;//virtual dtor
-  
-private:
-  AliCaloPID & operator = (const AliCaloPID & g) ;//cpy assignment
-  AliCaloPID(const AliCaloPID & g) ; // cpy ctor
-
-public:
-       
+       
   enum PidType {
     kPhoton         = 22,
     kPi0            = 111,
@@ -116,9 +110,7 @@ public:
   void    SwitchOnBayesianRecalculation()      { fRecalculateBayesian = kTRUE ; fUseBayesianWeights  = kTRUE ;} // EMCAL
   void    SwitchOffBayesianRecalculation()     { fRecalculateBayesian = kFALSE; } // EMCAL
   
-  AliEMCALPIDUtils * GetEMCALPIDUtils() {
-    if(!fEMCALPIDUtils) fEMCALPIDUtils = new AliEMCALPIDUtils; 
-    return fEMCALPIDUtils                                                     ; }
+  AliEMCALPIDUtils * GetEMCALPIDUtils() ; 
   
   //Weight getters
   Float_t GetEMCALPhotonWeight()         const { return fEMCALPhotonWeight    ; }
@@ -253,6 +245,9 @@ private:
   TH2F     *fhTrackMatchedDPhi     ;            //! Phi distance between track and cluster vs cluster E
   TH2F     *fhTrackMatchedDEtaDPhi ;            //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV
   
+  AliCaloPID & operator = (const AliCaloPID & g) ; // cpy assignment
+  AliCaloPID(const AliCaloPID & g) ;               // cpy ctor
+  
   ClassDef(AliCaloPID,10)
 } ;
 
index d9de1ff942a59282acbec22255320fae8752bc73..7281ffb0d7465d6feb9d10a9b0535c647066945b 100755 (executable)
@@ -24,13 +24,7 @@ public:
        
   AliCaloTrackAODReader() ; // ctor
   virtual ~AliCaloTrackAODReader() {;} //virtual dtor
-  
-private:
-  AliCaloTrackAODReader(const AliCaloTrackAODReader & ) ; // cpy ctor
-  AliCaloTrackAODReader & operator = (const AliCaloTrackAODReader & g) ;//cpy assignment
-   
-public: 
-
+     
   AliCentrality* GetCentrality() const ;  
   void SetInputOutputMCEvent(AliVEvent* esd, AliAODEvent* aod, AliMCEvent* mc) ; 
   
@@ -42,6 +36,9 @@ private:
   
   AliVEvent *fOrgInputEvent; //! Original input event, not from filtering
   
+  AliCaloTrackAODReader(const AliCaloTrackAODReader & ) ; // cpy ctor
+  AliCaloTrackAODReader & operator = (const AliCaloTrackAODReader & g) ;//cpy assignment
+  
   ClassDef(AliCaloTrackAODReader,6)
 } ;
 
index 6d7ee6912e17b54bbb88560aaeee83ab887d669e..e86674c700593a736a61b5632c06f313770f126e 100755 (executable)
@@ -35,11 +35,7 @@ class AliCaloTrackMCReader : public AliCaloTrackReader {
  public: 
   AliCaloTrackMCReader() ; // ctor
   virtual ~AliCaloTrackMCReader() ;//virtual dtor
- private :
-  AliCaloTrackMCReader(const AliCaloTrackMCReader & g) ; // cpy ctor   
-  AliCaloTrackMCReader & operator = (const AliCaloTrackMCReader & g) ;//cpy assignment
 
-public:
   void   InitParameters();
   
   void   Print(const Option_t * opt) const; 
@@ -107,6 +103,9 @@ public:
   Int_t     fIndex2ndPhoton;         // Check overlap of first decay photon already done, internal use.
   Bool_t    fOnlyGeneratorParticles; // Use particles only generated by PYTHIA/HERWIG/... and not by the MC tranport G3/G4/FLUKA ...
   
+  AliCaloTrackMCReader(const AliCaloTrackMCReader & g) ; // cpy ctor   
+  AliCaloTrackMCReader & operator = (const AliCaloTrackMCReader & g) ;//cpy assignment
+  
   ClassDef(AliCaloTrackMCReader,4)
 } ;
 
index dc93af63abcedc09c91d969375841e5537f1206e..b5b17210296bda7aed9fc6fc5702122c3f69bdaa 100755 (executable)
@@ -28,7 +28,7 @@
 // --- ROOT system ---
 #include <TFile.h>
 
-//---- ANALYSIS system ----
+// ---- ANALYSIS system ----
 #include "AliMCEvent.h"
 #include "AliAODMCHeader.h"
 #include "AliGenPythiaEventHeader.h"
 #include "AliESDtrackCuts.h"
 #include "AliTriggerAnalysis.h"
 #include "AliESDVZERO.h"
+#include "AliVCaloCells.h"
 
-//---- PartCorr/EMCAL ---
-#include "AliEMCALRecoUtils.h"
+// ---- Detectors ----
+#include "AliPHOSGeoUtils.h"
+#include "AliEMCALGeometry.h"
+
+// ---- PartCorr ---
+#include "AliCalorimeterUtils.h"
 #include "AliCaloTrackReader.h"
 
 ClassImp(AliCaloTrackReader)
@@ -991,8 +996,9 @@ void AliCaloTrackReader::FillInputVZERO(){
 }
 
 
-//____________________________________________________________________________
-Bool_t AliCaloTrackReader::IsEMCALCluster(AliVCluster* cluster) const {
+//___________________________________________________________________
+Bool_t AliCaloTrackReader::IsEMCALCluster(AliVCluster* cluster) const 
+{
   // Check if it is a cluster from EMCAL. For old AODs cluster type has
   // different number and need to patch here
     
@@ -1008,8 +1014,9 @@ Bool_t AliCaloTrackReader::IsEMCALCluster(AliVCluster* cluster) const {
 
 }
 
-//____________________________________________________________________________
-Bool_t AliCaloTrackReader::IsPHOSCluster(AliVCluster * cluster) const {
+//___________________________________________________________________
+Bool_t AliCaloTrackReader::IsPHOSCluster(AliVCluster * cluster) const 
+{
   //Check if it is a cluster from PHOS.For old AODs cluster type has
   // different number and need to patch here
   
@@ -1026,8 +1033,9 @@ Bool_t AliCaloTrackReader::IsPHOSCluster(AliVCluster * cluster) const {
   
 }
 
-//____________________________________________________________________________
-Bool_t AliCaloTrackReader::CheckForPrimaryVertex(){
+//________________________________________________
+Bool_t AliCaloTrackReader::CheckForPrimaryVertex()
+{
   //Check if the vertex was well reconstructed, copy from V0Reader of conversion group
   //Only for ESDs ...
   
@@ -1055,5 +1063,14 @@ Bool_t AliCaloTrackReader::CheckForPrimaryVertex(){
   
 }
 
+//____________________________________________________________
+void  AliCaloTrackReader::SetTrackCuts(AliESDtrackCuts * cuts) 
+{ 
+  // Set Track cuts
+  
+  if(fESDtrackCuts) delete fESDtrackCuts ;
+  
+  fESDtrackCuts = cuts ; 
 
+}                
 
index cff75da760f97be6c8f2f4cd08de967d259193bc..0aaa37e78ba3b82d020a430adb79dd6c5a9e6f10 100755 (executable)
@@ -21,23 +21,24 @@ class TObjArray ;
 class TTree ;
 
 //--- ANALYSIS system ---
-#include "AliVCaloCells.h"
-class AliStack 
-class AliHeader 
-class AliGenEventHeader 
-#include "AliVEvent.h"
+class AliVCaloCells;
+class AliStack; 
+class AliHeader; 
+class AliGenEventHeader; 
+class AliVEvent;
 class AliAODEvent;
 class AliMCEvent;
 class AliMixedEvent;
 class AliAODMCHeader;
-#include "AliESDtrackCuts.h"
+class AliESDtrackCuts;
 class AliCentrality;
 class AliTriggerAnalysis;
 class AliEventplane;
 
-// --- PartCorr
-#include "AliCalorimeterUtils.h"
+// --- PartCorr / EMCAL ---
+#include "AliEMCALRecoUtils.h"
 #include "AliFiducialCut.h"
+class AliCalorimeterUtils;
 
 class AliCaloTrackReader : public TObject {
 
@@ -178,7 +179,7 @@ public:
   Int_t            GetV0Multiplicity(Int_t i)        const { return fV0Mul[i]              ; }
   
   void             SetEMCALClusterListName(TString &name)  { fEMCALClustersListName = name ; }
-  TString          GetEMCALClusterListName()               { return fEMCALClustersListName ; }
+  TString          GetEMCALClusterListName()         const { return fEMCALClustersListName ; }
 
   // Arrayes with clusters/track/cells access method
   virtual TObjArray*     GetCTSTracks()              const { return fCTSTracks             ; }
@@ -193,11 +194,11 @@ public:
   
   void             AcceptFastClusterEvents()               { fAcceptFastCluster     = kTRUE  ; } 
   void             RejectFastClusterEvents()               { fAcceptFastCluster     = kFALSE ; }  
-  Bool_t           IsFastClusterAccepted()                 { return fAcceptFastCluster       ; }   
+  Bool_t           IsFastClusterAccepted()           const { return fAcceptFastCluster       ; }   
   
   void             SwitchOnLEDEventsRemoval()              { fRemoveLEDEvents       = kTRUE  ; }
   void             SwitchOffLEDEventsRemoval()             { fRemoveLEDEvents       = kFALSE ; } 
-  Bool_t           IsLEDEventRemoved()                     { return fRemoveLEDEvents         ; }   
+  Bool_t           IsLEDEventRemoved()               const { return fRemoveLEDEvents         ; }   
 
   void             SetFiredTriggerClassName(TString name ) { fFiredTriggerClassName = name   ; }
   TString          GetFiredTriggerClassName()        const { return fFiredTriggerClassName   ; }
@@ -223,8 +224,8 @@ public:
   void             SetTrackFilterMask(ULong_t bit)         { fTrackFilterMask = bit    ; }             
   
   AliESDtrackCuts* GetTrackCuts()                    const { return fESDtrackCuts      ; }
-  void             SetTrackCuts(AliESDtrackCuts * cuts)    { if(fESDtrackCuts) delete fESDtrackCuts ;
-                                                             fESDtrackCuts = cuts      ; }               
+  void             SetTrackCuts(AliESDtrackCuts * cuts)    ;
+  
   Int_t            GetTrackMultiplicity()            const { return fTrackMult         ; }
   Float_t          GetTrackMultiplicityEtaCut()      const { return fTrackMultEtaCut   ; }
   void             SetTrackMultiplicityEtaCut(Float_t eta) { fTrackMultEtaCut = eta    ; }             
index 5b208588cd2341f8b224472ee0cc5017b0443803..1878f762df4e52c31a08a9ce907884f981399e7c 100755 (executable)
@@ -26,7 +26,7 @@
 // --- ROOT system ---
 #include "TGeoManager.h"
 
-//---- ANALYSIS system ----
+// --- ANALYSIS system ---
 #include "AliCalorimeterUtils.h"
 #include "AliESDEvent.h"
 #include "AliMCEvent.h"
 #include "AliVCaloCells.h"
 #include "AliMixedEvent.h"
 
+// --- Detector ---
+#include "AliEMCALGeometry.h"
+#include "AliPHOSGeoUtils.h"
+
 ClassImp(AliCalorimeterUtils)
   
   
@@ -254,7 +258,8 @@ Bool_t AliCalorimeterUtils::ClusterContainsBadChannel(TString calorimeter,UShort
                        icol = relId[3];
                        imod = relId[0]-1;
                        if(fPHOSBadChannelMap->GetEntries() <= imod)continue;
-                       if(GetPHOSChannelStatus(imod, icol, irow)) return kTRUE;
+      //printf("PHOS bad channels imod %d, icol %d, irow %d\n",imod, irow, icol);
+                       if(GetPHOSChannelStatus(imod, irow, icol)) return kTRUE;
                }
                else return kFALSE;
                
@@ -273,8 +278,9 @@ void AliCalorimeterUtils::CorrectClusterEnergy(AliVCluster *clus)
 
 }
 
-//___________________________________________________________________________________________________________________
-Int_t  AliCalorimeterUtils::GetMaxEnergyCell(AliVCaloCells* cells, AliVCluster* clu, Float_t & clusterFraction) const 
+//________________________________________________________________________________________
+Int_t  AliCalorimeterUtils::GetMaxEnergyCell(AliVCaloCells* cells, const AliVCluster* clu, 
+                                             Float_t & clusterFraction) const 
 {
   
   //For a given CaloCluster gets the absId of the cell 
@@ -307,7 +313,7 @@ Int_t  AliCalorimeterUtils::GetMaxEnergyCell(AliVCaloCells* cells, AliVCluster*
     
     if(IsRecalibrationOn()) {
       if(calo=="EMCAL") recalFactor = GetEMCALChannelRecalibrationFactor(iSupMod,ieta,iphi);
-      else              recalFactor = GetPHOSChannelRecalibrationFactor(iSupMod,ieta,iphi);
+      else              recalFactor = GetPHOSChannelRecalibrationFactor (iSupMod,iphi,ieta);
     }
     
     eCell  = cells->GetCellAmplitude(cellAbsId)*fraction*recalFactor;
@@ -500,7 +506,7 @@ void AliCalorimeterUtils::InitPHOSBadChannelStatusMap()
   TH1::AddDirectory(kFALSE);
   
   fPHOSBadChannelMap = new TObjArray(5);       
-  for (int i = 0; i < 5; i++)fPHOSBadChannelMap->Add(new TH2I(Form("PHOSBadChannelMap_Mod%d",i),Form("PHOSBadChannelMap_Mod%d",i), 56, 0, 56, 64, 0, 64));
+  for (int i = 0; i < 5; i++)fPHOSBadChannelMap->Add(new TH2I(Form("PHOS_BadMap_mod%d",i),Form("PHOS_BadMap_mod%d",i), 64, 0, 64, 56, 0, 56));
   
   fPHOSBadChannelMap->SetOwner(kTRUE);
   fPHOSBadChannelMap->Compress();
@@ -519,12 +525,12 @@ void AliCalorimeterUtils::InitPHOSRecalibrationFactors()
        TH1::AddDirectory(kFALSE);
   
        fPHOSRecalibrationFactors = new TObjArray(5);
-       for (int i = 0; i < 5; i++)fPHOSRecalibrationFactors->Add(new TH2F(Form("PHOSRecalFactors_Mod%d",i),Form("PHOSRecalFactors_Mod%d",i), 56, 0, 56, 64, 0, 64));
+       for (int i = 0; i < 5; i++)fPHOSRecalibrationFactors->Add(new TH2F(Form("PHOSRecalFactors_Mod%d",i),Form("PHOSRecalFactors_Mod%d",i), 64, 0, 64, 56, 0, 56));
        //Init the histograms with 1
        for (Int_t m = 0; m < 5; m++) {
                for (Int_t i = 0; i < 56; i++) {
                        for (Int_t j = 0; j < 64; j++) {
-                               SetPHOSChannelRecalibrationFactor(m,i,j,1.);
+                               SetPHOSChannelRecalibrationFactor(m,j,i,1.);
                        }
                }
        }
@@ -633,7 +639,7 @@ Float_t AliCalorimeterUtils::RecalibrateClusterEnergy(AliVCluster * cluster,
       frac =  fraction[icell];
       if(frac < 1e-3) frac = 1; //in case of EMCAL, this is set as 0, not used.
       module = GetModuleNumberCellIndexes(absId,calo,icol,irow,iRCU);
-      if(cluster->IsPHOS()) factor = GetPHOSChannelRecalibrationFactor (module,icol,irow);
+      if(cluster->IsPHOS()) factor = GetPHOSChannelRecalibrationFactor (module,irow,icol);
       else                  factor = GetEMCALChannelRecalibrationFactor(module,icol,irow);
       if(fDebug>2)
         printf("AliCalorimeterUtils::RecalibrateClusterEnergy() - recalibrate cell: %s, module %d, col %d, row %d, cell fraction %f, recalibration factor %f, cell energy %f\n", 
@@ -661,7 +667,7 @@ void AliCalorimeterUtils::SetGeometryTransformationMatrices(AliVEvent* inputEven
   //Get the EMCAL transformation geometry matrices from ESD 
   if(!fEMCALGeoMatrixSet && fEMCALGeo){
     if(fLoadEMCALMatrices){
-      printf("AliCalorimeterUtils::SetGeometryTransformationMatrices() - Load user defined geometry matrices\n");
+      printf("AliCalorimeterUtils::SetGeometryTransformationMatrices() - Load user defined EMCAL geometry matrices\n");
       for(Int_t mod=0; mod < (fEMCALGeo->GetEMCGeometry())->GetNumberOfSuperModules(); mod++){
         if(fEMCALMatrix[mod]){
           if(fDebug > 1) 
@@ -683,6 +689,7 @@ void AliCalorimeterUtils::SetGeometryTransformationMatrices(AliVEvent* inputEven
             fEMCALGeo->SetMisalMatrix(((AliESDEvent*)inputEvent)->GetEMCALMatrix(mod),mod) ;
           }
         }// loop over super modules    
+        
         fEMCALGeoMatrixSet = kTRUE;//At least one, so good
         
       }//ESD as input
@@ -695,19 +702,21 @@ void AliCalorimeterUtils::SetGeometryTransformationMatrices(AliVEvent* inputEven
       fEMCALGeoMatrixSet = kTRUE;
     }
   }//EMCAL geo && no geoManager
-       
+  
        //Get the PHOS transformation geometry matrices from ESD 
   if(!fPHOSGeoMatrixSet && fPHOSGeo){
+
     if(fLoadPHOSMatrices){
-      printf("AliCalorimeterUtils::SetGeometryTransformationMatrices() - Load user defined geometry matrices\n");
-      for(Int_t mod=0; mod < 5; mod++){
+      printf("AliCalorimeterUtils::SetGeometryTransformationMatrices() - Load user defined PHOS geometry matrices\n");
+      for(Int_t mod = 0 ; mod < 5 ; mod++){
         if(fPHOSMatrix[mod]){
-          if(fDebug > 1) 
+          if(fDebug > 1 
             fPHOSMatrix[mod]->Print();
-          fPHOSGeo->SetMisalMatrix(fPHOSMatrix[mod],mod) ;  
+          fPHOSGeo->SetMisalMatrix(fPHOSMatrix[mod],mod+1) ;  
         }
       }//SM loop
       fPHOSGeoMatrixSet = kTRUE;//At least one, so good
+
     }//Load matrices
     else if (!gGeoManager) { 
       if(fDebug > 1) 
@@ -730,6 +739,7 @@ void AliCalorimeterUtils::SetGeometryTransformationMatrices(AliVEvent* inputEven
       fPHOSGeoMatrixSet = kTRUE;
     }
        }//PHOS geo     and  geoManager was not set
+  
 }
 
 //__________________________________________________________________________________________
index 696704ab1b6efe329daf26d19c9582d6832267a9..c2a48d63bdd4cf62470bd761789e7bd6ff6aae7d 100755 (executable)
@@ -24,8 +24,8 @@ class AliVEvent;
 class AliAODPWG4Particle;
 class AliVCluster;
 class AliVCaloCells;
-#include "AliPHOSGeoUtils.h"
-#include "AliEMCALGeometry.h"
+class AliPHOSGeoUtils;
+class AliEMCALGeometry;
 #include "AliEMCALRecoUtils.h"
 
 class AliCalorimeterUtils : public TObject {
@@ -33,11 +33,6 @@ class AliCalorimeterUtils : public TObject {
  public:   
   AliCalorimeterUtils() ; // ctor
   virtual ~AliCalorimeterUtils() ;//virtual dtor
- private:
-  AliCalorimeterUtils(const AliCalorimeterUtils & g) ; // cpy ctor
-  AliCalorimeterUtils & operator = (const AliCalorimeterUtils & g) ;//cpy assignment
-
- public:
   
   virtual void  InitParameters();
   virtual void  Print(const Option_t * opt)          const ;
@@ -47,7 +42,7 @@ class AliCalorimeterUtils : public TObject {
        
   //virtual void Init();
        
-  Int_t         GetMaxEnergyCell(AliVCaloCells* cells, AliVCluster* clu, Float_t & fraction) const ;
+  Int_t         GetMaxEnergyCell(AliVCaloCells* cells, const AliVCluster* clu, Float_t & fraction) const ;
   
   //Calorimeters Geometry Methods
   AliEMCALGeometry * GetEMCALGeometry()              const { return fEMCALGeo             ; }
@@ -249,6 +244,9 @@ class AliCalorimeterUtils : public TObject {
   Float_t            fCutEta;                //  dEta cut on matching (EMCAL)
   Float_t            fCutPhi;                //  dPhi cut on matching (EMCAL)
   
+  AliCalorimeterUtils(const AliCalorimeterUtils & g) ; // cpy ctor
+  AliCalorimeterUtils & operator = (const AliCalorimeterUtils & g) ;//cpy assignment
+  
   ClassDef(AliCalorimeterUtils,7)
 } ;
 
index ff32092b46287d31e3197f0895e9dede89072600..a9e7745b3ec4e562df0ecf17dfec191af96e2cdd 100755 (executable)
@@ -24,109 +24,110 @@ class TLorentzVector ;
 
 
 class AliFiducialCut : public TObject {
-
- public: 
+  
+public: 
   AliFiducialCut() ; // ctor
-  virtual ~AliFiducialCut() ;//virtual dtor
-
- private:
-  AliFiducialCut(const AliFiducialCut & g) ; // cpy ctor
-  AliFiducialCut & operator = (const AliFiducialCut & g) ;//cpy assignment
+  virtual  ~AliFiducialCut() ;//virtual dtor
   
- public:
-
-  void InitParameters();
+  void      InitParameters();
+    
+  Bool_t    CheckFiducialRegion(const TLorentzVector lv, 
+                                const TArrayF* minphi, const TArrayF* maxphi, 
+                                const TArrayF* mineta, const TArrayF* maxeta) const ;
   
-  void Print(const Option_t * opt)const;
-  Bool_t CheckFiducialRegion(const TLorentzVector lv, const TArrayF* minphi, const TArrayF* maxphi, const TArrayF* mineta, const TArrayF* maxeta) const ;
-  Bool_t IsInFiducialCut    (const TLorentzVector lv, const TString det) const ;
+  Bool_t    IsInFiducialCut    (const TLorentzVector lv, const TString det) const ;
   
-  void DoCTSFiducialCut(Bool_t b) {fCTSFiducialCut = b; }
-  void DoEMCALFiducialCut(Bool_t b) {fEMCALFiducialCut = b; }
-  void DoPHOSFiducialCut(Bool_t b) {fPHOSFiducialCut = b; }
-
-  Bool_t GetCTSFiducialCutStatus() const {return fCTSFiducialCut ; }
-  Bool_t GetEMCALFiducialCut() const {return fEMCALFiducialCut ; }
-  Bool_t GetPHOSFiducialCutStatus() const {return fPHOSFiducialCut ; }
+  void      DoCTSFiducialCut  (Bool_t b) {fCTSFiducialCut   = b ; }
+  void      DoEMCALFiducialCut(Bool_t b) {fEMCALFiducialCut = b ; }
+  void      DoPHOSFiducialCut (Bool_t b) {fPHOSFiducialCut  = b ; }
+  
+  Bool_t    GetCTSFiducialCutStatus()  const {return fCTSFiducialCut   ; }
+  Bool_t    GetEMCALFiducialCut()      const {return fEMCALFiducialCut ; }
+  Bool_t    GetPHOSFiducialCutStatus() const {return fPHOSFiducialCut  ; }
+  
+  void      SetSimpleCTSFiducialCut  (const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
+  void      SetSimpleEMCALFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
+  void      SetSimplePHOSFiducialCut (const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
+  
+  void      Print(const Option_t * opt)const;
 
-  void SetSimpleCTSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
-  void SetSimpleEMCALFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
-  void SetSimplePHOSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
+  
+  void      AddCTSFidCutMaxEtaArray(Int_t size, Float_t* array)  
+                                              { fCTSFidCutMaxEta->Set(size,array)   ; } 
+  TArrayF * GetCTSFidCutMaxEtaArray() const   { return fCTSFidCutMaxEta             ; }
+  
+  void      AddCTSFidCutMaxPhiArray(Int_t size, Float_t* array)  
+                                              { fCTSFidCutMaxPhi->Set(size,array)   ; }
+  TArrayF * GetCTSFidCutMaxPhiArray() const   { return fCTSFidCutMaxPhi             ; }
+  
+  void      AddCTSFidCutMinEtaArray(Int_t size, Float_t* array)  
+                                              { fCTSFidCutMinEta->Set(size,array)   ; } 
+  TArrayF * GetCTSFidCutMinEtaArray() const   { return fCTSFidCutMinEta             ; }
+  
+  void      AddCTSFidCutMinPhiArray(Int_t size, Float_t* array)  
+                                              { fCTSFidCutMinPhi->Set(size,array)   ; }
+  TArrayF * GetCTSFidCutMinPhiArray() const   { return fCTSFidCutMinPhi             ; }
+  
+  void      AddEMCALFidCutMaxEtaArray(Int_t size, Float_t* array)  
+                                              { fEMCALFidCutMaxEta->Set(size,array) ; } 
+  TArrayF * GetEMCALFidCutMaxEtaArray() const { return fEMCALFidCutMaxEta           ; }
+  
+  void      AddEMCALFidCutMaxPhiArray(Int_t size, Float_t* array)  
+                                              { fEMCALFidCutMaxPhi->Set(size,array) ; }
+  TArrayF * GetEMCALFidCutMaxPhiArray() const { return fEMCALFidCutMaxPhi           ; }
+  
+  void      AddEMCALFidCutMinEtaArray(Int_t size, Float_t* array)  
+                                              { fEMCALFidCutMinEta->Set(size,array) ; } 
+  TArrayF * GetEMCALFidCutMinEtaArray() const { return fEMCALFidCutMinEta           ; }
+  
+  void      AddEMCALFidCutMinPhiArray(Int_t size, Float_t* array)  
+                                              { fEMCALFidCutMinPhi->Set(size,array) ; }
+  TArrayF * GetEMCALFidCutMinPhiArray() const { return fEMCALFidCutMinPhi           ; }
+  
+  void      AddPHOSFidCutMaxEtaArray(Int_t size, Float_t* array)  
+                                              { fPHOSFidCutMaxEta->Set(size,array)  ; } 
+  TArrayF * GetPHOSFidCutMaxEtaArray() const  { return fPHOSFidCutMaxEta            ; }
+  
+  void      AddPHOSFidCutMaxPhiArray(Int_t size, Float_t* array)  
+                                              { fPHOSFidCutMaxPhi->Set(size,array)  ; }
+  TArrayF * GetPHOSFidCutMaxPhiArray() const  { return fPHOSFidCutMaxPhi            ; }
+  
+  void      AddPHOSFidCutMinEtaArray(Int_t size, Float_t* array)  
+                                              { fPHOSFidCutMinEta->Set(size,array)  ; } 
+  TArrayF * GetPHOSFidCutMinEtaArray() const  { return fPHOSFidCutMinEta            ; }
 
-  void AddCTSFidCutMaxEtaArray(Int_t size, Float_t* array)  
-  {  fCTSFidCutMaxEta->Set(size,array);  } 
-  TArrayF * GetCTSFidCutMaxEtaArray() const   {return   fCTSFidCutMaxEta;}
-  
-  void AddCTSFidCutMaxPhiArray(Int_t size, Float_t* array)  
-  {  fCTSFidCutMaxPhi->Set(size,array); }
-  TArrayF * GetCTSFidCutMaxPhiArray() const   {return   fCTSFidCutMaxPhi;}
-  
-  void AddCTSFidCutMinEtaArray(Int_t size, Float_t* array)  
-  {  fCTSFidCutMinEta->Set(size,array); } 
-  TArrayF * GetCTSFidCutMinEtaArray() const   {return   fCTSFidCutMinEta;}
-  void AddCTSFidCutMinPhiArray(Int_t size, Float_t* array)  
-  {  fCTSFidCutMinPhi->Set(size,array); }
-  TArrayF * GetCTSFidCutMinPhiArray() const   {return   fCTSFidCutMinPhi;}
-  
-  void AddEMCALFidCutMaxEtaArray(Int_t size, Float_t* array)  
-  {  fEMCALFidCutMaxEta->Set(size,array); } 
-  TArrayF * GetEMCALFidCutMaxEtaArray() const   {return   fEMCALFidCutMaxEta;}
-  
-  void AddEMCALFidCutMaxPhiArray(Int_t size, Float_t* array)  
-  {  fEMCALFidCutMaxPhi->Set(size,array); }
-  TArrayF * GetEMCALFidCutMaxPhiArray() const   {return   fEMCALFidCutMaxPhi;}
-  void AddEMCALFidCutMinEtaArray(Int_t size, Float_t* array)  
-  {  fEMCALFidCutMinEta->Set(size,array); } 
-  TArrayF * GetEMCALFidCutMinEtaArray() const   {return   fEMCALFidCutMinEta;}
-  
-  void AddEMCALFidCutMinPhiArray(Int_t size, Float_t* array)  
-  {  fEMCALFidCutMinPhi->Set(size,array); }
-  TArrayF * GetEMCALFidCutMinPhiArray() const   {return   fEMCALFidCutMinPhi;}
-  
-  void AddPHOSFidCutMaxEtaArray(Int_t size, Float_t* array)  
-  {  fPHOSFidCutMaxEta->Set(size,array); } 
-  TArrayF * GetPHOSFidCutMaxEtaArray() const   {return   fPHOSFidCutMaxEta;}
-  
-   void AddPHOSFidCutMaxPhiArray(Int_t size, Float_t* array)  
-   {  fPHOSFidCutMaxPhi->Set(size,array); }
-   TArrayF * GetPHOSFidCutMaxPhiArray() const   {return   fPHOSFidCutMaxPhi;}
-   
-   void AddPHOSFidCutMinEtaArray(Int_t size, Float_t* array)  
-   {  fPHOSFidCutMinEta->Set(size,array); } 
-   TArrayF * GetPHOSFidCutMinEtaArray() const   {return   fPHOSFidCutMinEta;}
-   void AddPHOSFidCutMinPhiArray(Int_t size, Float_t* array)  
-   {  fPHOSFidCutMinPhi->Set(size,array); }
-   TArrayF * GetPHOSFidCutMinPhiArray() const   {return   fPHOSFidCutMinPhi;}
-   
-   
- protected:
-   
-   //Detector acceptance cuts
-   Bool_t     fEMCALFiducialCut ; // Apply fiducial cuts to EMCAL clusters
-   Bool_t     fPHOSFiducialCut ;// Apply fiducial cuts to PHOS clusters
-   Bool_t     fCTSFiducialCut ;//Apply fiducial cuts to  CTS tracks
-   
-   TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
-   TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
-   TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
-   TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
-   
-   TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
-   TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
-   TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
-   TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
-   
-   TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
-   TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
-   TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
-   TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
+  void      AddPHOSFidCutMinPhiArray(Int_t size, Float_t* array)  
+                                              { fPHOSFidCutMinPhi->Set(size,array)  ; }
+  TArrayF * GetPHOSFidCutMinPhiArray() const  { return fPHOSFidCutMinPhi            ; }
+  
+protected:
+  
+  //Detector acceptance cuts
+  Bool_t    fEMCALFiducialCut ;  // Apply fiducial cuts to EMCAL clusters
+  Bool_t    fPHOSFiducialCut ;   // Apply fiducial cuts to PHOS clusters
+  Bool_t    fCTSFiducialCut ;    // Apply fiducial cuts to  CTS tracks
+  
+  TArrayF * fCTSFidCutMinEta ;   // Take particles in CTS with eta > fCTSFidCutMinEta
+  TArrayF * fCTSFidCutMinPhi ;   // Take particles in CTS with phi > fCTSFidCutMinPhi
+  TArrayF * fCTSFidCutMaxEta ;   // Take particles in CTS with eta < fCTSFidCutMaxEta
+  TArrayF * fCTSFidCutMaxPhi ;   // Take particles in CTS with phi > fCTSFidCutMaxPhi
+  
+  TArrayF * fEMCALFidCutMinEta ; // Take particles in EMCAL with eta > fEMCALFidCutMinEta
+  TArrayF * fEMCALFidCutMinPhi ; // Take particles in EMCAL with phi > fEMCALFidCutMinPhi
+  TArrayF * fEMCALFidCutMaxEta ; // Take particles in EMCAL with eta < fEMCALFidCutMaxEta
+  TArrayF * fEMCALFidCutMaxPhi ; // Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
+  
+  TArrayF * fPHOSFidCutMinEta ;  // Take particles in PHOS with eta > fPHOSFidCutMinEta
+  TArrayF * fPHOSFidCutMinPhi ;  // Take particles in PHOS with phi > fPHOSFidCutMinPhi
+  TArrayF * fPHOSFidCutMaxEta ;  // Take particles in PHOS with eta < fPHOSFidCutMaxEta
+  TArrayF * fPHOSFidCutMaxPhi ;  // Take particles in PHOS with phi > fPHOSFidCutMaxPhi
+  
+  AliFiducialCut(const AliFiducialCut & g) ;              // cpy ctor
+  AliFiducialCut & operator = (const AliFiducialCut & g) ;// cpy assignment
   
   ClassDef(AliFiducialCut,1)
-    } ;
+  
+} ;
 
 
 #endif //ALIFIDUCIALCUT_H
index 44d95621a8a6780da087768b4976bc27ee4e4334..2588cea292bb679ba6c825e6f4bff5078c72b147 100755 (executable)
@@ -30,7 +30,6 @@
   
   
 // --- ROOT system --- 
-//#include <Riostream.h>
 #include <TLorentzVector.h>
 #include <TObjArray.h>
 
 
 ClassImp(AliIsolationCut)
   
-//____________________________________________________________________________
-  AliIsolationCut::AliIsolationCut() : 
-    TObject(),
-    fConeSize(0.),fPtThreshold(0.), fSumPtThreshold(0.), fPtFraction(0.), fICMethod(0),fPartInCone(0)
+//____________________________________
+AliIsolationCut::AliIsolationCut() : 
+TObject(),
+fConeSize(0.),
+fPtThreshold(0.), 
+fSumPtThreshold(0.), 
+fPtFraction(0.), 
+fICMethod(0),
+fPartInCone(0)
+
 {
   //default ctor
   
   //Initialize parameters
   InitParameters();
-
+  
 }
 
-//____________________________________________________________________________
+//____________________________________________
 TString AliIsolationCut::GetICParametersList()
 {
   //Put data member values in string to keep in output container
@@ -96,11 +100,17 @@ void AliIsolationCut::InitParameters()
   
 }
 
-//__________________________________________________________________
-void  AliIsolationCut::MakeIsolationCut(TObjArray * const plCTS,  TObjArray * const plNe, AliCaloTrackReader * const reader, 
-                                       const Bool_t bFillAOD, AliAODPWG4ParticleCorrelation  *pCandidate, 
-                                       const TString & aodArrayRefName,
-                                       Int_t & n, Int_t & nfrac, Float_t &coneptsum,  Bool_t  &isolated) const
+//________________________________________________________________________________
+void  AliIsolationCut::MakeIsolationCut(const TObjArray * plCTS, 
+                                        const TObjArray * plNe, 
+                                        const AliCaloTrackReader * reader, 
+                                        const Bool_t bFillAOD, 
+                                        AliAODPWG4ParticleCorrelation  *pCandidate, 
+                                        const TString & aodArrayRefName,
+                                        Int_t & n, 
+                                        Int_t & nfrac, 
+                                        Float_t &coneptsum,  
+                                        Bool_t  &isolated) const
 {  
   //Search in cone around a candidate particle if it is isolated 
   Float_t phiC  = pCandidate->Phi() ;
@@ -277,7 +287,7 @@ void  AliIsolationCut::MakeIsolationCut(TObjArray * const plCTS,  TObjArray * co
   
 }
 
-//__________________________________________________________________
+//_____________________________________________________
 void AliIsolationCut::Print(const Option_t * opt) const
 {
   
@@ -287,11 +297,11 @@ void AliIsolationCut::Print(const Option_t * opt) const
   
   printf("**** Print %s %s **** \n", GetName(), GetTitle() ) ;
   
-  printf("IC method          =     %d\n", fICMethod) ; 
-  printf("Cone Size          =     %1.2f\n", fConeSize) ; 
+  printf("IC method          =     %d\n",    fICMethod   ) ; 
+  printf("Cone Size          =     %1.2f\n", fConeSize   ) ; 
   printf("pT threshold       =     %2.1f\n", fPtThreshold) ;
-  printf("pT fraction        =     %3.1f\n", fPtFraction) ;
-  printf("particle type in cone =  %d\n",fPartInCone);
+  printf("pT fraction        =     %3.1f\n", fPtFraction ) ;
+  printf("particle type in cone =  %d\n",    fPartInCone ) ;
   printf("    \n") ;
   
 } 
index 11bd605dfb511cdf72b2e57da1acb04883a60a81..4d85ffe63cebb5daaa1774faba9e9d6e1e74bb70 100755 (executable)
@@ -27,13 +27,9 @@ class AliCaloTrackReader ;
 class AliIsolationCut : public TObject {
   
  public: 
-  AliIsolationCut() ; // default ctor
-  virtual ~AliIsolationCut() {;} //virtual dtalr
- private:
-  AliIsolationCut(const AliIsolationCut & g) ; // cpy ctor
-  AliIsolationCut & operator = (const AliIsolationCut & g) ;//cpy assignment
-
- public: 
+  
+  AliIsolationCut() ;            // default ctor
+  virtual ~AliIsolationCut() {;} // virtual dtor
  
   // Enums 
   
@@ -47,7 +43,7 @@ class AliIsolationCut : public TObject {
   
   TString    GetICParametersList() ; 
   
-  void       MakeIsolationCut(TObjArray * const plCTS, TObjArray * const plNe, AliCaloTrackReader * const reader, 
+  void       MakeIsolationCut(const TObjArray * plCTS, const TObjArray * plNe, const AliCaloTrackReader * reader, 
                               const Bool_t bFillAOD, AliAODPWG4ParticleCorrelation  * pCandidate, const TString &aodObjArrayName,
                               Int_t &n, Int_t & nfrac, Float_t &ptsum, Bool_t & isolated) const ;  
   
@@ -83,7 +79,10 @@ class AliIsolationCut : public TObject {
                                // kSumPtFracIC:   Cone pt sum , fraction of cone sum, method
   Int_t      fPartInCone;      // Type of particles inside cone:
                                // kNeutralAndCharged, kOnlyNeutral, kOnlyCharged
-                                
+
+  AliIsolationCut(const AliIsolationCut & g) ;               // cpy ctor
+  AliIsolationCut & operator = (const AliIsolationCut & g) ; // cpy assignment
+  
   ClassDef(AliIsolationCut,3)
 } ;
 
index d13bbbe4d2237f426b3e33188eb940ec5556886d..34223f12bdee31a6d1aaaf24077f6fb642e0d962 100755 (executable)
 
 ClassImp(AliMCAnalysisUtils)
 
-//________________________________________________
-  AliMCAnalysisUtils::AliMCAnalysisUtils() : 
-    TObject(), fCurrentEvent(-1), fDebug(-1), 
-    fJetsList(new TList), fMCGenerator("PYTHIA")
+//________________________________________
+AliMCAnalysisUtils::AliMCAnalysisUtils() : 
+TObject(), 
+fCurrentEvent(-1), 
+fDebug(-1), 
+fJetsList(new TList), 
+fMCGenerator("PYTHIA")
 {
   //Ctor
 }
 
-//____________________________________________________________________________
+//_______________________________________
 AliMCAnalysisUtils::~AliMCAnalysisUtils() 
 {
   // Remove all pointers.
@@ -60,9 +63,11 @@ AliMCAnalysisUtils::~AliMCAnalysisUtils()
   }     
 }
 
-//_________________________________________________________________________
-Int_t AliMCAnalysisUtils::CheckCommonAncestor(const Int_t index1, const Int_t index2, AliCaloTrackReader* reader, 
-                                              Int_t & ancPDG, Int_t & ancStatus, TLorentzVector & momentum, TVector3 & prodVertex) 
+//_____________________________________________________________________________________________
+Int_t AliMCAnalysisUtils::CheckCommonAncestor(const Int_t index1, const Int_t index2, 
+                                              const AliCaloTrackReader* reader, 
+                                              Int_t & ancPDG, Int_t & ancStatus, 
+                                              TLorentzVector & momentum, TVector3 & prodVertex) 
 {
   //Check the first common ancestor of 2 clusters, given the most likely labels of the primaries generating such clusters.
   Int_t label1[100];
@@ -167,8 +172,11 @@ Int_t AliMCAnalysisUtils::CheckCommonAncestor(const Int_t index1, const Int_t in
   return ancLabel;
 }
 
-//_________________________________________________________________________
-Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t * label, const Int_t nlabels, AliCaloTrackReader* reader, const Int_t input = 0) 
+//_____________________________________________________________________
+Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t * label, 
+                                      const Int_t nlabels, 
+                                      const AliCaloTrackReader* reader, 
+                                      const Int_t input = 0) 
 {
   //Play with the montecarlo particles if available
   Int_t tag = 0;
@@ -189,8 +197,10 @@ Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t * label, const Int_t nlabels,
   return tag ;
 }
 
-//_________________________________________________________________________
-Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t label, AliCaloTrackReader* reader, const Int_t input = 0) 
+//_____________________________________________________________________
+Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t label, 
+                                      const AliCaloTrackReader* reader, 
+                                      const Int_t input = 0) 
 {
   //Play with the montecarlo particles if available
   Int_t tag = 0;
@@ -213,8 +223,10 @@ Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t label, AliCaloTrackReader* rea
   return tag ;
 }      
 
-//_________________________________________________________________________
-Int_t AliMCAnalysisUtils::CheckOriginInStack(const Int_t *labels, const Int_t nlabels, AliStack* stack) 
+//_________________________________________________________________
+Int_t AliMCAnalysisUtils::CheckOriginInStack(const Int_t *labels, 
+                                             const Int_t nlabels, 
+                                             AliStack* stack) 
 {
   // Play with the MC stack if available. Tag particles depending on their origin.
   // Do same things as in CheckOriginInAOD but different input.
@@ -495,7 +507,9 @@ Int_t AliMCAnalysisUtils::CheckOriginInStack(const Int_t *labels, const Int_t nl
 
 
 //_________________________________________________________________________
-Int_t AliMCAnalysisUtils::CheckOriginInAOD(const Int_t *labels, const Int_t nlabels, TClonesArray *mcparticles) 
+Int_t AliMCAnalysisUtils::CheckOriginInAOD(const Int_t *labels, 
+                                           const Int_t nlabels, 
+                                           const TClonesArray *mcparticles) 
 {
   // Play with the MCParticles in AOD if available. Tag particles depending on their origin.
   // Do same things as in CheckOriginInStack but different input.
@@ -593,7 +607,7 @@ Int_t AliMCAnalysisUtils::CheckOriginInAOD(const Int_t *labels, const Int_t nlab
     }  
     
     //printf("Final mother mPDG %d\n",mPdg);
-
+    
     // conversion into electrons/photons checked  
     
     //first check for typical charged particles
@@ -724,8 +738,11 @@ Int_t AliMCAnalysisUtils::CheckOriginInAOD(const Int_t *labels, const Int_t nlab
 }
 
 //_________________________________________________________________________
-void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, const Int_t nlabels, const Int_t mesonIndex, 
-                                                    AliStack *stack, Int_t &tag)
+void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, 
+                                                    const Int_t nlabels, 
+                                                    const Int_t mesonIndex, 
+                                                    AliStack *stack, 
+                                                    Int_t &tag)
 {
   //Check if cluster is formed from the contribution of 2 decay photons from pi0 or eta. Input in stack
   
@@ -804,12 +821,12 @@ void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, const I
       if(fDebug > 3) printf("\t \t parent index %d\n",tmpindex);
       daught   = stack->Particle(tmpindex);
       if      (iPhoton0 == tmpindex) {
-       okPhoton0 = kTRUE;
-       break;
+        okPhoton0 = kTRUE;
+        break;
       }
       else if (iPhoton1 == tmpindex) {
-       okPhoton1 = kTRUE;
-       break;
+        okPhoton1 = kTRUE;
+        break;
       }
       tmpindex = daught->GetFirstMother();
     }//While to check if pi0/eta daughter was one of these contributors to the cluster
@@ -830,9 +847,12 @@ void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, const I
   
 }      
 
-//_________________________________________________________________________
-void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, const Int_t nlabels, const Int_t mesonIndex, 
-                                                    TClonesArray *mcparticles, Int_t &tag)
+//__________________________________________________________________________________
+void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels,
+                                                    const Int_t nlabels, 
+                                                    const Int_t mesonIndex, 
+                                                    const TClonesArray *mcparticles, 
+                                                    Int_t & tag )
 {
   //Check if cluster is formed from the contribution of 2 decay photons from pi0 or eta. Input in AODMCParticles
   
@@ -842,7 +862,7 @@ void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, const I
              labels[0],mcparticles->GetEntriesFast(), nlabels);
     return;
   }
-    
+  
   AliAODMCParticle * meson = (AliAODMCParticle *) mcparticles->At(mesonIndex);
   Int_t mesonPdg = meson->GetPdgCode();
   if(mesonPdg != 111 && mesonPdg != 221) {
@@ -949,7 +969,7 @@ void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, const I
 }
 
 //_________________________________________________________________________
-TList * AliMCAnalysisUtils::GetJets(AliCaloTrackReader * const reader)
+TList * AliMCAnalysisUtils::GetJets(const AliCaloTrackReader * reader)
 {
   //Return list of jets (TParticles) and index of most likely parton that originated it.
   AliStack * stack = reader->GetStack();
@@ -1097,7 +1117,7 @@ TList * AliMCAnalysisUtils::GetJets(AliCaloTrackReader * const reader)
 }
 
 
-//________________________________________________________________
+//________________________________________________________
 void AliMCAnalysisUtils::Print(const Option_t * opt) const
 {
   //Print some relevant parameters set for the analysis
index 55931fcea0a6fba2f145cdeba77ac60aa7845b96..123d8145749f7a982f205a1121bf40e2aadef9e8 100755 (executable)
@@ -28,12 +28,7 @@ class AliMCAnalysisUtils : public TObject {
  public: 
   AliMCAnalysisUtils() ; // ctor
   virtual ~AliMCAnalysisUtils() ;//virtual dtor
- private:
-  AliMCAnalysisUtils & operator = (const AliMCAnalysisUtils & ) ;//cpy assignment
-  AliMCAnalysisUtils(const AliMCAnalysisUtils & mcu) ; // cpy ctor
-  
- public:
-  
+    
   //--------------------------------------
   //Enum with tag for origin of particles
   //--------------------------------------
@@ -44,26 +39,28 @@ class AliMCAnalysisUtils : public TObject {
   //come from pi0 decay)                              
   //then charged particles on line 3,                                                                                    
   //followed by other and unknown on line 4                                                                              
-  enum mcTypes { kMCPhoton,   kMCPrompt,      kMCFragmentation, kMCISR,    kMCPi0Decay, kMCEtaDecay, kMCOtherDecay, kMCConversion,
-                kMCElectron, kMCEFromCFromB, kMCEFromC,        kMCEFromB, kMCZDecay,   kMCWDecay,
-                kMCMuon,     kMCPion,        kMCPi0,           kMCKaon,   kMCEta,      kMCProton,   kMCAntiProton, kMCNeutron,    kMCAntiNeutron,
-                kMCOther,    kMCUnknown,     kMCBadLabel                                                                                         } ;
+  enum mcTypes { kMCPhoton,     kMCPrompt,      kMCFragmentation, kMCISR,    
+                 kMCPi0Decay,   kMCEtaDecay,    kMCOtherDecay,    kMCConversion,
+                 kMCElectron,   kMCEFromCFromB, kMCEFromC,        kMCEFromB, kMCZDecay,   kMCWDecay,
+                 kMCMuon,       kMCPion,        kMCPi0,           kMCKaon,   kMCEta,      kMCProton,   
+                 kMCAntiProton, kMCNeutron,     kMCAntiNeutron,
+                 kMCOther,      kMCUnknown,     kMCBadLabel                                                                                         } ;
   
   //--------------------------------------
   // Methods to check origin of clusters
   //--------------------------------------
   
-  Int_t   CheckCommonAncestor(const Int_t index1, const Int_t index2, AliCaloTrackReader* reader, 
+  Int_t   CheckCommonAncestor(const Int_t index1, const Int_t index2, const AliCaloTrackReader* reader, 
                              Int_t & ancPDG, Int_t & ancStatus, TLorentzVector & momentum, TVector3 & v) ;
-  Int_t   CheckOrigin(const Int_t label, AliCaloTrackReader * reader, const Int_t input) ;
+  Int_t   CheckOrigin(const Int_t label, const AliCaloTrackReader * reader, const Int_t input) ;
   //Check the label of the most significant particle but do checks on the rest of the contributing labels
-  Int_t   CheckOrigin(const Int_t *label, const Int_t nlabels, AliCaloTrackReader * reader, const Int_t input) ;
+  Int_t   CheckOrigin(const Int_t *label, const Int_t nlabels, const AliCaloTrackReader * reader, const Int_t input) ;
   
   Int_t   CheckOriginInStack(const Int_t *labels, const Int_t nlabels, AliStack * stack) ;
-  Int_t   CheckOriginInAOD  (const Int_t *labels, const Int_t nlabels, TClonesArray* mcparticles) ;
+  Int_t   CheckOriginInAOD  (const Int_t *labels, const Int_t nlabels, const TClonesArray* mcparticles) ;
   
   void    CheckOverlapped2GammaDecay(const Int_t *labels, const Int_t nlabels, const Int_t mesonIndex, AliStack * stack, Int_t & tag);
-  void    CheckOverlapped2GammaDecay(const Int_t *labels, const Int_t nlabels, const Int_t mesonIndex, TClonesArray* mcparticles, Int_t & tag);
+  void    CheckOverlapped2GammaDecay(const Int_t *labels, const Int_t nlabels, const Int_t mesonIndex, const TClonesArray* mcparticles, Int_t & tag);
   
   //Check or set the bits produced in the above methods
   void    SetTagBit(Int_t &tag, const UInt_t set) const {
@@ -82,7 +79,7 @@ class AliMCAnalysisUtils : public TObject {
   //--------------------------------------
   
   // Method to recover MC jets stored in generator
-  TList * GetJets(AliCaloTrackReader * const reader) ;
+  TList * GetJets(const AliCaloTrackReader * reader) ;
   
   void    SetDebug(Int_t deb)           { fDebug=deb           ; }
   Int_t   GetDebug()              const { return fDebug        ; }     
@@ -98,6 +95,9 @@ class AliMCAnalysisUtils : public TObject {
   TList * fJetsList;            // List of jets
   TString fMCGenerator;         // MC geneator used to generate data in simulation
   
+  AliMCAnalysisUtils & operator = (const AliMCAnalysisUtils & ) ; // cpy assignment
+  AliMCAnalysisUtils(const AliMCAnalysisUtils & mcu) ;            // cpy ctor
+  
   ClassDef(AliMCAnalysisUtils,3)
 
 } ;
index ee6ea85c84cf9c834b3e56364219854cc1d6954d..80795bd40fd2d30a1812f4b0f196260c1e793da3 100755 (executable)
@@ -26,11 +26,7 @@ class AliNeutralMesonSelection : public TObject {
  public: 
   AliNeutralMesonSelection() ; // default ctor
   virtual ~AliNeutralMesonSelection() { ; } //virtual dtor  
- private:
-  AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
-  AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
-  
- public:
+
   // General
 
   TList *  GetCreateOutputObjects();
@@ -158,7 +154,10 @@ class AliNeutralMesonSelection : public TObject {
   
   Int_t    fHistoNIMBins ;                // Number of bins in Invariant Mass axis
   Float_t  fHistoIMMax ;                  // Maximum value of Invariant Mass histogram range
-  Float_t  fHistoIMMin ;                  // Minimum value of Invariant Mass histogram range
+  Float_t  fHistoIMMin ;                  // Minimum value of Invariant Mass histogram range  
+  
+  AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ;               // cpy ctor
+  AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ; // cpy assignment
   
   ClassDef(AliNeutralMesonSelection,6)
     
index 3b7dc2e946cfb0774dfc208938f0e7b51e845e3c..825664ff2335628ce130c76c3eec4f144974353a 100755 (executable)
 #include "AliAODPid.h"
 #include "AliExternalTrackParam.h"
 
+// --- Detectors --- 
+#include "AliPHOSGeoUtils.h"
+#include "AliEMCALGeometry.h"
+
 ClassImp(AliAnaCalorimeterQA)
 
 //________________________________________
@@ -198,8 +202,8 @@ fhMCEle1pOverER02(0),                  fhMCChHad1pOverER02(0),                 f
   InitParameters();
 }
 
-//_______________________________________________________________________________________________________________
-void AliAnaCalorimeterQA::BadClusterHistograms(AliVCluster* clus, TObjArray *caloClusters, AliVCaloCells * cells, 
+//_____________________________________________________________________________________________________________________
+void AliAnaCalorimeterQA::BadClusterHistograms(AliVCluster* clus, const TObjArray *caloClusters, AliVCaloCells * cells, 
                                                const Int_t absIdMax, const Double_t maxCellFraction,
                                                const Double_t tmax,  Double_t timeAverages[2]
                                                )
@@ -643,8 +647,8 @@ void AliAnaCalorimeterQA::ClusterAsymmetryHistograms(AliVCluster* clus, const In
   
 }
 
-//___________________________________________________________________________________________________________
-void AliAnaCalorimeterQA::ClusterHistograms(AliVCluster* clus,TObjArray *caloClusters, AliVCaloCells * cells, 
+//_________________________________________________________________________________________________________________
+void AliAnaCalorimeterQA::ClusterHistograms(AliVCluster* clus,const TObjArray *caloClusters, AliVCaloCells * cells, 
                                             const Int_t absIdMax, const Double_t maxCellFraction,
                                             const Double_t tmax,  Double_t timeAverages[2])
 {
@@ -1111,62 +1115,62 @@ Bool_t AliAnaCalorimeterQA::ClusterMCHistograms(const TLorentzVector mom, const
   
   //Overlapped pi0 (or eta, there will be very few)
   if(GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPi0)){
-    fhRecoMCE  [mcPi0][matched]     ->Fill(e,eMC);     
-    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[mcPi0][(matched)]->Fill(eta,etaMC);   
-    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[mcPi0][(matched)]->Fill(phi,phiMC);
-    if(eMC > 0) fhRecoMCRatioE  [mcPi0][(matched)]->Fill(e,e/eMC);
-    fhRecoMCDeltaE  [mcPi0][(matched)]->Fill(e,eMC-e);
-    fhRecoMCDeltaPhi[mcPi0][(matched)]->Fill(e,phiMC-phi);
-    fhRecoMCDeltaEta[mcPi0][(matched)]->Fill(e,etaMC-eta);
+    fhRecoMCE  [kmcPi0][matched]     ->Fill(e,eMC);    
+    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[kmcPi0][(matched)]->Fill(eta,etaMC);  
+    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[kmcPi0][(matched)]->Fill(phi,phiMC);
+    if(eMC > 0) fhRecoMCRatioE  [kmcPi0][(matched)]->Fill(e,e/eMC);
+    fhRecoMCDeltaE  [kmcPi0][(matched)]->Fill(e,eMC-e);
+    fhRecoMCDeltaPhi[kmcPi0][(matched)]->Fill(e,phiMC-phi);
+    fhRecoMCDeltaEta[kmcPi0][(matched)]->Fill(e,etaMC-eta);
   }//Overlapped pizero decay
   else     if(GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCEta)){
-    fhRecoMCE  [mcEta][(matched)]     ->Fill(e,eMC);   
-    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[mcEta][(matched)]->Fill(eta,etaMC);   
-    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[mcEta][(matched)]->Fill(phi,phiMC);
-    if(eMC > 0) fhRecoMCRatioE  [mcEta][(matched)]->Fill(e,e/eMC);
-    fhRecoMCDeltaE  [mcEta][(matched)]->Fill(e,eMC-e);
-    fhRecoMCDeltaPhi[mcEta][(matched)]->Fill(e,phiMC-phi);
-    fhRecoMCDeltaEta[mcEta][(matched)]->Fill(e,etaMC-eta);
+    fhRecoMCE  [kmcEta][(matched)]     ->Fill(e,eMC);  
+    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[kmcEta][(matched)]->Fill(eta,etaMC);  
+    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[kmcEta][(matched)]->Fill(phi,phiMC);
+    if(eMC > 0) fhRecoMCRatioE  [kmcEta][(matched)]->Fill(e,e/eMC);
+    fhRecoMCDeltaE  [kmcEta][(matched)]->Fill(e,eMC-e);
+    fhRecoMCDeltaPhi[kmcEta][(matched)]->Fill(e,phiMC-phi);
+    fhRecoMCDeltaEta[kmcEta][(matched)]->Fill(e,etaMC-eta);
   }//Overlapped eta decay
   else if(GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCPhoton)){
-    fhRecoMCE  [mcPhoton][(matched)]     ->Fill(e,eMC);        
-    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[mcPhoton][(matched)]->Fill(eta,etaMC);        
-    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[mcPhoton][(matched)]->Fill(phi,phiMC);
-    if(eMC > 0) fhRecoMCRatioE  [mcPhoton][(matched)]->Fill(e,e/eMC);
-    fhRecoMCDeltaE  [mcPhoton][(matched)]->Fill(e,eMC-e);
-    fhRecoMCDeltaPhi[mcPhoton][(matched)]->Fill(e,phiMC-phi);
-    fhRecoMCDeltaEta[mcPhoton][(matched)]->Fill(e,etaMC-eta);      
+    fhRecoMCE  [kmcPhoton][(matched)]     ->Fill(e,eMC);       
+    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[kmcPhoton][(matched)]->Fill(eta,etaMC);       
+    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[kmcPhoton][(matched)]->Fill(phi,phiMC);
+    if(eMC > 0) fhRecoMCRatioE  [kmcPhoton][(matched)]->Fill(e,e/eMC);
+    fhRecoMCDeltaE  [kmcPhoton][(matched)]->Fill(e,eMC-e);
+    fhRecoMCDeltaPhi[kmcPhoton][(matched)]->Fill(e,phiMC-phi);
+    fhRecoMCDeltaEta[kmcPhoton][(matched)]->Fill(e,etaMC-eta);      
   }//photon
   else if(GetMCAnalysisUtils()->CheckTagBit(tag, AliMCAnalysisUtils::kMCElectron)){
-    fhRecoMCE  [mcElectron][(matched)]     ->Fill(e,eMC);      
-    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[mcElectron][(matched)]->Fill(eta,etaMC);      
-    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[mcElectron][(matched)]->Fill(phi,phiMC);
-    if(eMC > 0) fhRecoMCRatioE  [mcElectron][(matched)]->Fill(e,e/eMC);
-    fhRecoMCDeltaE  [mcElectron][(matched)]->Fill(e,eMC-e);
-    fhRecoMCDeltaPhi[mcElectron][(matched)]->Fill(e,phiMC-phi);
-    fhRecoMCDeltaEta[mcElectron][(matched)]->Fill(e,etaMC-eta);
+    fhRecoMCE  [kmcElectron][(matched)]     ->Fill(e,eMC);     
+    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[kmcElectron][(matched)]->Fill(eta,etaMC);     
+    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[kmcElectron][(matched)]->Fill(phi,phiMC);
+    if(eMC > 0) fhRecoMCRatioE  [kmcElectron][(matched)]->Fill(e,e/eMC);
+    fhRecoMCDeltaE  [kmcElectron][(matched)]->Fill(e,eMC-e);
+    fhRecoMCDeltaPhi[kmcElectron][(matched)]->Fill(e,phiMC-phi);
+    fhRecoMCDeltaEta[kmcElectron][(matched)]->Fill(e,etaMC-eta);
     fhEMVxyz   ->Fill(vxMC,vyMC);//,vz);
     fhEMR      ->Fill(e,rVMC);
   }
   else if(charge == 0){
-    fhRecoMCE  [mcNeHadron][(matched)]     ->Fill(e,eMC);      
-    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[mcNeHadron][(matched)]->Fill(eta,etaMC);      
-    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[mcNeHadron][(matched)]->Fill(phi,phiMC);
-    if(eMC > 0) fhRecoMCRatioE  [mcNeHadron][(matched)]->Fill(e,e/eMC);
-    fhRecoMCDeltaE  [mcNeHadron][(matched)]->Fill(e,eMC-e);
-    fhRecoMCDeltaPhi[mcNeHadron][(matched)]->Fill(e,phiMC-phi);
-    fhRecoMCDeltaEta[mcNeHadron][(matched)]->Fill(e,etaMC-eta);      
+    fhRecoMCE  [kmcNeHadron][(matched)]     ->Fill(e,eMC);     
+    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[kmcNeHadron][(matched)]->Fill(eta,etaMC);     
+    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[kmcNeHadron][(matched)]->Fill(phi,phiMC);
+    if(eMC > 0) fhRecoMCRatioE  [kmcNeHadron][(matched)]->Fill(e,e/eMC);
+    fhRecoMCDeltaE  [kmcNeHadron][(matched)]->Fill(e,eMC-e);
+    fhRecoMCDeltaPhi[kmcNeHadron][(matched)]->Fill(e,phiMC-phi);
+    fhRecoMCDeltaEta[kmcNeHadron][(matched)]->Fill(e,etaMC-eta);      
     fhHaVxyz     ->Fill(vxMC,vyMC);//,vz);
     fhHaR        ->Fill(e,rVMC);
   }
   else if(charge!=0){
-    fhRecoMCE  [mcChHadron][(matched)]     ->Fill(e,eMC);      
-    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[mcChHadron][(matched)]->Fill(eta,etaMC);      
-    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[mcChHadron][(matched)]->Fill(phi,phiMC);
-    if(eMC > 0) fhRecoMCRatioE  [mcChHadron][(matched)]->Fill(e,e/eMC);
-    fhRecoMCDeltaE  [mcChHadron][(matched)]->Fill(e,eMC-e);
-    fhRecoMCDeltaPhi[mcChHadron][(matched)]->Fill(e,phiMC-phi);
-    fhRecoMCDeltaEta[mcChHadron][(matched)]->Fill(e,etaMC-eta);     
+    fhRecoMCE  [kmcChHadron][(matched)]     ->Fill(e,eMC);     
+    if(e > 0.5 && eMC > 0.5) fhRecoMCEta[kmcChHadron][(matched)]->Fill(eta,etaMC);     
+    if(e > 0.5 && eMC > 0.5) fhRecoMCPhi[kmcChHadron][(matched)]->Fill(phi,phiMC);
+    if(eMC > 0) fhRecoMCRatioE  [kmcChHadron][(matched)]->Fill(e,e/eMC);
+    fhRecoMCDeltaE  [kmcChHadron][(matched)]->Fill(e,eMC-e);
+    fhRecoMCDeltaPhi[kmcChHadron][(matched)]->Fill(e,phiMC-phi);
+    fhRecoMCDeltaEta[kmcChHadron][(matched)]->Fill(e,etaMC-eta);     
     fhHaVxyz     ->Fill(vxMC,vyMC);//,vz);
     fhHaR        ->Fill(e,rVMC);
   }
@@ -2501,9 +2505,9 @@ Float_t AliAnaCalorimeterQA::GetECross(const Int_t absID, AliVCaloCells* cells)
   
 }
 
-//_____________________________________________________________________________________________
+//__________________________________________________________________________________________________
 void AliAnaCalorimeterQA::InvariantMassHistograms(const Int_t iclus,   const TLorentzVector mom, 
-                                                  const Int_t nModule, TObjArray* caloClusters, 
+                                                  const Int_t nModule, const TObjArray* caloClusters, 
                                                   AliVCaloCells * cells) 
 {
   // Fill Invariant mass histograms
@@ -2768,35 +2772,35 @@ void AliAnaCalorimeterQA::MCHistograms(const TLorentzVector mom, const Int_t pdg
   }      
   
   if (pdg==22) {
-    fhGenMCE[mcPhoton]    ->Fill(eMC);
-    if(eMC > 0.5) fhGenMCEtaPhi[mcPhoton]->Fill(etaMC,phiMC);
+    fhGenMCE[kmcPhoton]    ->Fill(eMC);
+    if(eMC > 0.5) fhGenMCEtaPhi[kmcPhoton]->Fill(etaMC,phiMC);
     if(in){
-      fhGenMCAccE[mcPhoton]    ->Fill(eMC);
-      if(eMC > 0.5) fhGenMCAccEtaPhi[mcPhoton]->Fill(etaMC,phiMC);     
+      fhGenMCAccE[kmcPhoton]    ->Fill(eMC);
+      if(eMC > 0.5) fhGenMCAccEtaPhi[kmcPhoton]->Fill(etaMC,phiMC);    
     }
   }
   else if (pdg==111) {
-    fhGenMCE[mcPi0]    ->Fill(eMC);
-    if(eMC > 0.5) fhGenMCEtaPhi[mcPi0]->Fill(etaMC,phiMC);
+    fhGenMCE[kmcPi0]    ->Fill(eMC);
+    if(eMC > 0.5) fhGenMCEtaPhi[kmcPi0]->Fill(etaMC,phiMC);
     if(in){
-      fhGenMCAccE[mcPi0]    ->Fill(eMC);
-      if(eMC > 0.5) fhGenMCAccEtaPhi[mcPi0]->Fill(etaMC,phiMC);        
+      fhGenMCAccE[kmcPi0]    ->Fill(eMC);
+      if(eMC > 0.5) fhGenMCAccEtaPhi[kmcPi0]->Fill(etaMC,phiMC);       
     }
   }
   else if (pdg==221) {
-    fhGenMCE[mcEta]    ->Fill(eMC);
-    if(eMC > 0.5) fhGenMCEtaPhi[mcEta]->Fill(etaMC,phiMC);
+    fhGenMCE[kmcEta]    ->Fill(eMC);
+    if(eMC > 0.5) fhGenMCEtaPhi[kmcEta]->Fill(etaMC,phiMC);
     if(in){
-      fhGenMCAccE[mcEta]    ->Fill(eMC);
-      if(eMC > 0.5) fhGenMCAccEtaPhi[mcEta]->Fill(etaMC,phiMC);        
+      fhGenMCAccE[kmcEta]    ->Fill(eMC);
+      if(eMC > 0.5) fhGenMCAccEtaPhi[kmcEta]->Fill(etaMC,phiMC);       
     }    
   }
   else if (TMath::Abs(pdg)==11) {
-    fhGenMCE[mcElectron]    ->Fill(eMC);
-    if(eMC > 0.5) fhGenMCEtaPhi[mcElectron]->Fill(etaMC,phiMC);
+    fhGenMCE[kmcElectron]    ->Fill(eMC);
+    if(eMC > 0.5) fhGenMCEtaPhi[kmcElectron]->Fill(etaMC,phiMC);
     if(in){
-      fhGenMCAccE[mcElectron]    ->Fill(eMC);
-      if(eMC > 0.5) fhGenMCAccEtaPhi[mcElectron]->Fill(etaMC,phiMC);   
+      fhGenMCAccE[kmcElectron]    ->Fill(eMC);
+      if(eMC > 0.5) fhGenMCAccEtaPhi[kmcElectron]->Fill(etaMC,phiMC);  
     }
   }    
 }
index 2e546ddef51ab3f0a7de06595501881aee656307..8c8935cf2b7a8a02d5881cc7935e32880ed67370 100755 (executable)
@@ -29,12 +29,7 @@ class AliAnaCalorimeterQA : public AliAnaPartCorrBaseClass {
 public: 
   AliAnaCalorimeterQA() ; // default ctor      
   virtual ~AliAnaCalorimeterQA() {;} //virtual dtor
-private:
-  AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & g) ;//cpy assignment
-  AliAnaCalorimeterQA(const AliAnaCalorimeterQA & g) ; // cpy ctor
-  
-public:
-  
+    
   // General methods
   
   TObjString * GetAnalysisCuts();
@@ -51,8 +46,8 @@ public:
     
   // Main methods
   
-  void         BadClusterHistograms(AliVCluster* clus, TObjArray *caloClusters, AliVCaloCells * cells, 
-                                    const Int_t absIdMax,       const Double_t maxCellFraction, const Double_t tmax,
+  void         BadClusterHistograms(AliVCluster* clus,    const TObjArray *caloClusters,  AliVCaloCells * cells, 
+                                    const Int_t absIdMax, const Double_t maxCellFraction, const Double_t tmax,
                                     Double_t timeAverages[2]);  
     
   void         CalculateAverageTime(AliVCluster *clus, AliVCaloCells *cells, Double_t timeAverages[2]);
@@ -63,8 +58,8 @@ public:
     
   void         ClusterAsymmetryHistograms(AliVCluster* clus, const Int_t absIdMax);
   
-  void         ClusterHistograms(AliVCluster* cluster, TObjArray *caloClusters, AliVCaloCells * cells, 
-                                 const Int_t absIdMax,       const Double_t maxCellFraction, const Double_t tmax,
+  void         ClusterHistograms(AliVCluster* cluster, const TObjArray *caloClusters,  AliVCaloCells * cells, 
+                                 const Int_t absIdMax, const Double_t maxCellFraction, const Double_t tmax,
                                  Double_t timeAverages[2]);
   
   void         ClusterLoopHistograms(TObjArray * clusters, AliVCaloCells * cells);
@@ -80,7 +75,7 @@ public:
   Float_t      GetECross(const Int_t absId, AliVCaloCells* cells);
   
   void         InvariantMassHistograms(const Int_t iclus, const TLorentzVector mom, const Int_t nModule,
-                                       TObjArray* caloClusters, AliVCaloCells * cells);
+                                       const TObjArray* caloClusters, AliVCaloCells * cells);
 
   Bool_t       IsGoodCluster(const Int_t absIdMax, AliVCaloCells *cells);
   
@@ -328,7 +323,7 @@ public:
   
   //Pure MC
 
-  enum mcTypes {mcPhoton = 0, mcPi0 = 1, mcEta = 2, mcElectron = 3, mcNeHadron = 4, mcChHadron = 5 };
+  enum mcTypes {kmcPhoton = 0, kmcPi0 = 1, kmcEta = 2, kmcElectron = 3, kmcNeHadron = 4, kmcChHadron = 5 };
   
   TH2F *   fhRecoMCE[6][2]  ;                 //! E   generated particle vs reconstructed E
   TH2F *   fhRecoMCPhi[6][2] ;                //! phi generated particle vs reconstructed phi
@@ -371,6 +366,9 @@ public:
   TH2F *   fhMCChHad1pOverER02;               //! p/E for track-cluster matches, dR > 0.2, MC charged hadrons
   TH2F *   fhMCNeutral1pOverER02;             //! p/E for track-cluster matches, dR > 0.2, MC neutral
        
+  AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & g) ;//cpy assignment
+  AliAnaCalorimeterQA(const AliAnaCalorimeterQA & g) ; // cpy ctor
+  
   ClassDef(AliAnaCalorimeterQA,21)
 } ;
 
index 2ec0c6352a00ea445234dc83f1c47d080c13e7a1..d31ce7162b6f86c346535e4c1e1d932ed7b4f881 100755 (executable)
@@ -24,11 +24,6 @@ class AliAnaChargedParticles : public AliAnaPartCorrBaseClass {
  public: 
   AliAnaChargedParticles() ; // default ctor
   virtual ~AliAnaChargedParticles() { ; } //virtual dtor
- private:  
-  AliAnaChargedParticles(const AliAnaChargedParticles & g) ; // cpy ctor
-  AliAnaChargedParticles & operator = (const AliAnaChargedParticles & g) ;//cpy assignment
-
- public:
 
   TList * GetCreateOutputObjects();
   
@@ -80,6 +75,9 @@ class AliAnaChargedParticles : public AliAnaPartCorrBaseClass {
   TH2F * fhPhiUnknown;  //! phi distribution vs pT
   TH2F * fhEtaUnknown;  //! eta distribution vs pT
   
+  AliAnaChargedParticles(const AliAnaChargedParticles & g) ; // cpy ctor
+  AliAnaChargedParticles & operator = (const AliAnaChargedParticles & g) ;//cpy assignment
+  
   ClassDef(AliAnaChargedParticles,3)
 
 } ;
index 06fe59b377ce2fecc7094b99a9e1cb5729a58e4c..6b6d7e66f92b32c3b54ef9d51bb0f30a550eb3b5 100755 (executable)
@@ -277,13 +277,13 @@ void  AliAnaElectron::FillShowerShapeHistograms(AliVCluster* cluster, const Int_
        !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion) &&
        !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0) &&
        !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEta)){
-      fhMCELambda0[pidIndex][mcssPhoton]    ->Fill(energy, lambda0);
+      fhMCELambda0[pidIndex][kmcssPhoton]    ->Fill(energy, lambda0);
 
             
     }//photon   no conversion
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron && 
               !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion))){
-      fhMCELambda0[pidIndex][mcssElectron]    ->Fill(energy, lambda0);
+      fhMCELambda0[pidIndex][kmcssElectron]    ->Fill(energy, lambda0);
        
       if(!GetReader()->IsEmbeddedClusterSelectionOn()){
         //Check particle overlaps in cluster
@@ -335,17 +335,17 @@ void  AliAnaElectron::FillShowerShapeHistograms(AliVCluster* cluster, const Int_
     }//electron
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron) && 
                GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion) ){
-      fhMCELambda0[pidIndex][mcssConversion]    ->Fill(energy, lambda0);      
+      fhMCELambda0[pidIndex][kmcssConversion]    ->Fill(energy, lambda0);      
     }//conversion photon
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0)  ){
-      fhMCELambda0[pidIndex][mcssPi0]    ->Fill(energy, lambda0);      
+      fhMCELambda0[pidIndex][kmcssPi0]    ->Fill(energy, lambda0);      
     }//pi0
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEta)  ){
-      fhMCELambda0[pidIndex][mcssEta]    ->Fill(energy, lambda0);
+      fhMCELambda0[pidIndex][kmcssEta]    ->Fill(energy, lambda0);
       
     }//eta    
     else {
-      fhMCELambda0[pidIndex][mcssOther]    ->Fill(energy, lambda0);      
+      fhMCELambda0[pidIndex][kmcssOther]    ->Fill(energy, lambda0);      
     }//other particles 
     
   }//MC data
@@ -932,7 +932,6 @@ void  AliAnaElectron::MakeAnalysisFillAOD()
     //PID selection via dEdx
     //-------------------------------------
     
-    Int_t pid  = AliCaloPID::kChargedHadron;
     AliVTrack *track = 0;
     if(!strcmp("AliESDCaloCluster",Form("%s",calo->ClassName()))){
       Int_t iESDtrack = calo->GetTrackMatchedIndex();
@@ -953,6 +952,8 @@ void  AliAnaElectron::MakeAnalysisFillAOD()
     fhdEdxvsE->Fill(calo->E(), dEdx);
     fhdEdxvsP->Fill(track->P(),dEdx);
     
+    Int_t pid  = AliCaloPID::kChargedHadron;
+    
     if( dEdx < fdEdxMax && dEdx > fdEdxMin) {
       
       Float_t eOverp = calo->E()/track->P();
@@ -1151,113 +1152,113 @@ void  AliAnaElectron::MakeAnalysisFillHistograms()
       
       Int_t tag =ph->GetTag();
       
-      if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && fhMCE[pidIndex][mcPhoton])
+      if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && fhMCE[pidIndex][kmcPhoton])
       {
-        fhMCE  [pidIndex][mcPhoton] ->Fill(ecluster);
-        fhMCPt [pidIndex][mcPhoton] ->Fill(ptcluster);
-        fhMCPhi[pidIndex][mcPhoton] ->Fill(ecluster,phicluster);
-        fhMCEta[pidIndex][mcPhoton] ->Fill(ecluster,etacluster);
+        fhMCE  [pidIndex][kmcPhoton] ->Fill(ecluster);
+        fhMCPt [pidIndex][kmcPhoton] ->Fill(ptcluster);
+        fhMCPhi[pidIndex][kmcPhoton] ->Fill(ecluster,phicluster);
+        fhMCEta[pidIndex][kmcPhoton] ->Fill(ecluster,etacluster);
         
-        fhMC2E[pidIndex][mcPhoton]     ->Fill(ecluster, eprim); 
-        fhMCDeltaE[pidIndex][mcPhoton] ->Fill(ecluster,eprim-ecluster);
+        fhMC2E[pidIndex][kmcPhoton]     ->Fill(ecluster, eprim); 
+        fhMCDeltaE[pidIndex][kmcPhoton] ->Fill(ecluster,eprim-ecluster);
         
-        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) && fhMCE[pidIndex][mcConversion])
+        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) && fhMCE[pidIndex][kmcConversion])
         {
-          fhMCE  [pidIndex][mcConversion] ->Fill(ecluster);
-          fhMCPt [pidIndex][mcConversion] ->Fill(ptcluster);
-          fhMCPhi[pidIndex][mcConversion] ->Fill(ecluster,phicluster);
-          fhMCEta[pidIndex][mcConversion] ->Fill(ecluster,etacluster);
+          fhMCE  [pidIndex][kmcConversion] ->Fill(ecluster);
+          fhMCPt [pidIndex][kmcConversion] ->Fill(ptcluster);
+          fhMCPhi[pidIndex][kmcConversion] ->Fill(ecluster,phicluster);
+          fhMCEta[pidIndex][kmcConversion] ->Fill(ecluster,etacluster);
           
-          fhMC2E[pidIndex][mcConversion]     ->Fill(ecluster, eprim);
-          fhMCDeltaE[pidIndex][mcConversion] ->Fill(ecluster,eprim-ecluster);
+          fhMC2E[pidIndex][kmcConversion]     ->Fill(ecluster, eprim);
+          fhMCDeltaE[pidIndex][kmcConversion] ->Fill(ecluster,eprim-ecluster);
           
         }                              
         else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay) && 
-                !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE[pidIndex][mcPi0Decay])
+                !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE[pidIndex][kmcPi0Decay])
         {
-          fhMCE  [pidIndex][mcPi0Decay] ->Fill(ecluster);
-          fhMCPt [pidIndex][mcPi0Decay] ->Fill(ptcluster);
-          fhMCPhi[pidIndex][mcPi0Decay] ->Fill(ecluster,phicluster);
-          fhMCEta[pidIndex][mcPi0Decay] ->Fill(ecluster,etacluster);
+          fhMCE  [pidIndex][kmcPi0Decay] ->Fill(ecluster);
+          fhMCPt [pidIndex][kmcPi0Decay] ->Fill(ptcluster);
+          fhMCPhi[pidIndex][kmcPi0Decay] ->Fill(ecluster,phicluster);
+          fhMCEta[pidIndex][kmcPi0Decay] ->Fill(ecluster,etacluster);
           
-          fhMC2E[pidIndex][mcPi0Decay]     ->Fill(ecluster, eprim);
-          fhMCDeltaE[pidIndex][mcPi0Decay] ->Fill(ecluster,eprim-ecluster);
+          fhMC2E[pidIndex][kmcPi0Decay]     ->Fill(ecluster, eprim);
+          fhMCDeltaE[pidIndex][kmcPi0Decay] ->Fill(ecluster,eprim-ecluster);
         }
         else if( (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) || 
-                  GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[pidIndex][mcOtherDecay])
+                  GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[pidIndex][kmcOtherDecay])
         {
-          fhMCE  [pidIndex][mcOtherDecay] ->Fill(ecluster);
-          fhMCPt [pidIndex][mcOtherDecay] ->Fill(ptcluster);
-          fhMCPhi[pidIndex][mcOtherDecay] ->Fill(ecluster,phicluster);
-          fhMCEta[pidIndex][mcOtherDecay] ->Fill(ecluster,etacluster);
+          fhMCE  [pidIndex][kmcOtherDecay] ->Fill(ecluster);
+          fhMCPt [pidIndex][kmcOtherDecay] ->Fill(ptcluster);
+          fhMCPhi[pidIndex][kmcOtherDecay] ->Fill(ecluster,phicluster);
+          fhMCEta[pidIndex][kmcOtherDecay] ->Fill(ecluster,etacluster);
           
-          fhMC2E[pidIndex][mcOtherDecay]     ->Fill(ecluster, eprim);
-          fhMCDeltaE[pidIndex][mcOtherDecay] ->Fill(ecluster,eprim-ecluster);          
+          fhMC2E[pidIndex][kmcOtherDecay]     ->Fill(ecluster, eprim);
+          fhMCDeltaE[pidIndex][kmcOtherDecay] ->Fill(ecluster,eprim-ecluster);          
         }
-        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE  [pidIndex][mcPi0])
+        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE  [pidIndex][kmcPi0])
         {
-          fhMCE  [pidIndex][mcPi0] ->Fill(ecluster);
-          fhMCPt [pidIndex][mcPi0] ->Fill(ptcluster);
-          fhMCPhi[pidIndex][mcPi0] ->Fill(ecluster,phicluster);
-          fhMCEta[pidIndex][mcPi0] ->Fill(ecluster,etacluster);
+          fhMCE  [pidIndex][kmcPi0] ->Fill(ecluster);
+          fhMCPt [pidIndex][kmcPi0] ->Fill(ptcluster);
+          fhMCPhi[pidIndex][kmcPi0] ->Fill(ecluster,phicluster);
+          fhMCEta[pidIndex][kmcPi0] ->Fill(ecluster,etacluster);
           
-          fhMC2E[pidIndex][mcPi0]     ->Fill(ecluster, eprim);
-          fhMCDeltaE[pidIndex][mcPi0] ->Fill(ecluster,eprim-ecluster);
+          fhMC2E[pidIndex][kmcPi0]     ->Fill(ecluster, eprim);
+          fhMCDeltaE[pidIndex][kmcPi0] ->Fill(ecluster,eprim-ecluster);
           
         } 
-        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta) && fhMCE[pidIndex][mcEta])
+        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta) && fhMCE[pidIndex][kmcEta])
         {
-          fhMCE  [pidIndex][mcEta] ->Fill(ecluster);
-          fhMCPt [pidIndex][mcEta] ->Fill(ptcluster);
-          fhMCPhi[pidIndex][mcEta] ->Fill(ecluster,phicluster);
-          fhMCEta[pidIndex][mcEta] ->Fill(ecluster,etacluster);
+          fhMCE  [pidIndex][kmcEta] ->Fill(ecluster);
+          fhMCPt [pidIndex][kmcEta] ->Fill(ptcluster);
+          fhMCPhi[pidIndex][kmcEta] ->Fill(ecluster,phicluster);
+          fhMCEta[pidIndex][kmcEta] ->Fill(ecluster,etacluster);
           
-          fhMC2E[pidIndex][mcEta]     ->Fill(ecluster, eprim);
-          fhMCDeltaE[pidIndex][mcEta] ->Fill(ecluster,eprim-ecluster);
+          fhMC2E[pidIndex][kmcEta]     ->Fill(ecluster, eprim);
+          fhMCDeltaE[pidIndex][kmcEta] ->Fill(ecluster,eprim-ecluster);
           
         }      
       }
-      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron) && fhMCE[pidIndex][mcAntiNeutron])
+      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron) && fhMCE[pidIndex][kmcAntiNeutron])
       {
-        fhMCE  [pidIndex][mcAntiNeutron] ->Fill(ecluster);
-        fhMCPt [pidIndex][mcAntiNeutron] ->Fill(ptcluster);
-        fhMCPhi[pidIndex][mcAntiNeutron] ->Fill(ecluster,phicluster);
-        fhMCEta[pidIndex][mcAntiNeutron] ->Fill(ecluster,etacluster);
+        fhMCE  [pidIndex][kmcAntiNeutron] ->Fill(ecluster);
+        fhMCPt [pidIndex][kmcAntiNeutron] ->Fill(ptcluster);
+        fhMCPhi[pidIndex][kmcAntiNeutron] ->Fill(ecluster,phicluster);
+        fhMCEta[pidIndex][kmcAntiNeutron] ->Fill(ecluster,etacluster);
         
-        fhMC2E[pidIndex][mcAntiNeutron]     ->Fill(ecluster, eprim);
-        fhMCDeltaE[pidIndex][mcAntiNeutron] ->Fill(ecluster,eprim-ecluster);
+        fhMC2E[pidIndex][kmcAntiNeutron]     ->Fill(ecluster, eprim);
+        fhMCDeltaE[pidIndex][kmcAntiNeutron] ->Fill(ecluster,eprim-ecluster);
         
       }
-      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton) && fhMCE[pidIndex][mcAntiProton])
+      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton) && fhMCE[pidIndex][kmcAntiProton])
       {
-        fhMCE  [pidIndex][mcAntiProton] ->Fill(ecluster);
-        fhMCPt [pidIndex][mcAntiProton] ->Fill(ptcluster);
-        fhMCPhi[pidIndex][mcAntiProton] ->Fill(ecluster,phicluster);
-        fhMCEta[pidIndex][mcAntiProton] ->Fill(ecluster,etacluster);
+        fhMCE  [pidIndex][kmcAntiProton] ->Fill(ecluster);
+        fhMCPt [pidIndex][kmcAntiProton] ->Fill(ptcluster);
+        fhMCPhi[pidIndex][kmcAntiProton] ->Fill(ecluster,phicluster);
+        fhMCEta[pidIndex][kmcAntiProton] ->Fill(ecluster,etacluster);
 
-        fhMC2E[pidIndex][mcAntiProton]     ->Fill(ecluster, eprim);
-        fhMCDeltaE[pidIndex][mcAntiProton] ->Fill(ecluster,eprim-ecluster);
+        fhMC2E[pidIndex][kmcAntiProton]     ->Fill(ecluster, eprim);
+        fhMCDeltaE[pidIndex][kmcAntiProton] ->Fill(ecluster,eprim-ecluster);
         
       } 
-      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron) && fhMCE[pidIndex][mcElectron])
+      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron) && fhMCE[pidIndex][kmcElectron])
       {
-        fhMCE  [pidIndex][mcElectron] ->Fill(ecluster);
-        fhMCPt [pidIndex][mcElectron] ->Fill(ptcluster);
-        fhMCPhi[pidIndex][mcElectron] ->Fill(ecluster,phicluster);
-        fhMCEta[pidIndex][mcElectron] ->Fill(ecluster,etacluster);
+        fhMCE  [pidIndex][kmcElectron] ->Fill(ecluster);
+        fhMCPt [pidIndex][kmcElectron] ->Fill(ptcluster);
+        fhMCPhi[pidIndex][kmcElectron] ->Fill(ecluster,phicluster);
+        fhMCEta[pidIndex][kmcElectron] ->Fill(ecluster,etacluster);
         
-        fhMC2E[pidIndex][mcElectron]     ->Fill(ecluster, eprim);
-        fhMCDeltaE[pidIndex][mcElectron] ->Fill(ecluster,eprim-ecluster);
+        fhMC2E[pidIndex][kmcElectron]     ->Fill(ecluster, eprim);
+        fhMCDeltaE[pidIndex][kmcElectron] ->Fill(ecluster,eprim-ecluster);
         
       }     
-      else if( fhMCE[pidIndex][mcOther]){
-        fhMCE  [pidIndex][mcOther] ->Fill(ecluster);
-        fhMCPt [pidIndex][mcOther] ->Fill(ptcluster);
-        fhMCPhi[pidIndex][mcOther] ->Fill(ecluster,phicluster);
-        fhMCEta[pidIndex][mcOther] ->Fill(ecluster,etacluster);
+      else if( fhMCE[pidIndex][kmcOther]){
+        fhMCE  [pidIndex][kmcOther] ->Fill(ecluster);
+        fhMCPt [pidIndex][kmcOther] ->Fill(ptcluster);
+        fhMCPhi[pidIndex][kmcOther] ->Fill(ecluster,phicluster);
+        fhMCEta[pidIndex][kmcOther] ->Fill(ecluster,etacluster);
         
-        fhMC2E[pidIndex][mcOther]     ->Fill(ecluster, eprim);
-        fhMCDeltaE[pidIndex][mcOther] ->Fill(ecluster,eprim-ecluster);
+        fhMC2E[pidIndex][kmcOther]     ->Fill(ecluster, eprim);
+        fhMCDeltaE[pidIndex][kmcOther] ->Fill(ecluster,eprim-ecluster);
         
       }
       
index 8225bbdd54edc17d49c893c948f38140d52497c2..c039728b21884114df903a44737855366f4b0c34 100755 (executable)
@@ -35,14 +35,6 @@ class AliAnaElectron : public AliAnaPartCorrBaseClass {
   AliAnaElectron() ;                                       // default ctor
   
   virtual ~AliAnaElectron() { ; }                          // virtual dtor
-  
- private:
-  
-  AliAnaElectron(const AliAnaElectron & g) ;               // cpy ctor
-  
-  AliAnaElectron & operator = (const AliAnaElectron & g) ; // cpy assignment
-
- public:
        
   //---------------------------------------
   // General analysis frame methods
@@ -110,13 +102,13 @@ class AliAnaElectron : public AliAnaPartCorrBaseClass {
     if(n > 10) fNOriginHistograms = 10; }
 
   // For histograms in arrays, index in the array, corresponding to a particle
-  enum mcTypes    { mcPhoton = 0,        mcPi0Decay = 1,       mcOtherDecay = 2,  
-                    mcPi0 = 3,           mcEta = 4,            mcElectron = 5,       
-                    mcConversion = 6,    mcOther = 7,          mcAntiNeutron = 8,    
-                    mcAntiProton = 9                                                 };    
+  enum mcTypes    { kmcPhoton = 0,        kmcPi0Decay = 1,       kmcOtherDecay = 2,  
+                    kmcPi0 = 3,           kmcEta = 4,            kmcElectron = 5,       
+                    kmcConversion = 6,    kmcOther = 7,          kmcAntiNeutron = 8,    
+                    kmcAntiProton = 9                                                 };    
   
-  enum mcssTypes  { mcssPhoton = 0,      mcssOther = 1,       mcssPi0 = 2,         
-                    mcssEta = 3,         mcssConversion = 4,  mcssElectron = 5       };  
+  enum mcssTypes  { kmcssPhoton = 0,      kmcssOther = 1,       kmcssPi0 = 2,         
+                    kmcssEta = 3,         kmcssConversion = 4,  kmcssElectron = 5       };  
   
   private:
  
@@ -206,7 +198,10 @@ class AliAnaElectron : public AliAnaPartCorrBaseClass {
   TH2F * fhEmbedElectronELambda0MostlyBkg ;     //!  Lambda0 vs E for embedded electrons with 50%<fraction<10% 
   TH2F * fhEmbedElectronELambda0FullBkg ;       //!  Lambda0 vs E for embedded electrons with less than 10% of the cluster energy
   
-   ClassDef(AliAnaElectron,2)
+  AliAnaElectron(const AliAnaElectron & g) ;               // cpy ctor  
+  AliAnaElectron & operator = (const AliAnaElectron & g) ; // cpy assignment
+  
+  ClassDef(AliAnaElectron,2)
 
 } ;
  
index e8231df8949c39ef21c2dd5f1c9dfc699568b810..ec53d247d9a5deadbcfb92d95beddd45b62eedc3 100755 (executable)
@@ -30,7 +30,6 @@
 #include <TClonesArray.h>
 #include <TObjString.h>
 #include <TH3F.h>
-//#include "Riostream.h"
 
 // --- Analysis system --- 
 #include "AliAnaInsideClusterInvariantMass.h" 
 #include "AliAODMCParticle.h"
 #include "AliEMCALGeoParams.h"
 
+// --- Detectors --- 
+//#include "AliPHOSGeoUtils.h"
+#include "AliEMCALGeometry.h"
+
 ClassImp(AliAnaInsideClusterInvariantMass)
   
 //__________________________________________________________________
@@ -456,8 +459,8 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
     
     if (nMax <= 0) {
       printf("AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() - No local maximum found!");
-      delete absIdList ;
-      delete maxEList  ;
+      delete [] absIdList ;
+      delete [] maxEList  ;
       return;
     }
     
@@ -475,14 +478,14 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
       
       Int_t tag        = GetMCAnalysisUtils()->CheckOrigin(cluster->GetLabels(),cluster->GetNLabels(), GetReader(), 0);
             
-      if      ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0)  )      mcindex = mcPi0;
-      else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta)  )      mcindex = mcEta;
+      if      ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0)  )      mcindex = kmcPi0;
+      else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta)  )      mcindex = kmcEta;
       else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && 
-               !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) mcindex = mcPhoton;
+               !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) mcindex = kmcPhoton;
       else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && 
-                GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) mcindex = mcConversion;
-      else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron))   mcindex = mcElectron;
-      else                                                                                mcindex = mcHadron;
+                GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) mcindex = kmcConversion;
+      else if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron))   mcindex = kmcElectron;
+      else                                                                                mcindex = kmcHadron;
       
 /*      printf("AliAnaInsideClusterInvariantMass::FillAnalysisMakeHistograms() - tag %d, photon %d, prompt %d, frag %d, isr %d, pi0 decay %d, eta decay %d, other decay %d \n conv %d, pi0 %d, hadron %d, electron %d, unk %d, muon %d,pion %d, proton %d, neutron %d, kaon %d, antiproton %d, antineutron %d, bad %d\n",tag,
              GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton),
@@ -612,8 +615,8 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
       
     }//Work with MC truth first
   
-    delete absIdList ;
-    delete maxEList  ;
+    delete [] absIdList ;
+    delete [] maxEList  ;
 
   }//loop
   
@@ -654,8 +657,9 @@ void AliAnaInsideClusterInvariantMass::RecalibrateCellAmplitude(Float_t & amp, c
   }
 }
 
-//____________________________________________________________________________________________
-void AliAnaInsideClusterInvariantMass::SplitEnergy(const Int_t absId1, const Int_t absId2, AliVCaloCells* cells,
+//________________________________________________________________________________________
+void AliAnaInsideClusterInvariantMass::SplitEnergy(const Int_t absId1, const Int_t absId2,
+                                                   const AliVCaloCells* cells,
                                                    Float_t & e1, Float_t & e2 )
 {
   
index 2b0df7154b87ab934b199081498d261a0ba3097d..13fdbb4361e712d04aaec30f1961629959a04461 100755 (executable)
@@ -27,12 +27,7 @@ class AliAnaInsideClusterInvariantMass : public AliAnaPartCorrBaseClass {
  public: 
   AliAnaInsideClusterInvariantMass() ; // default ctor
   virtual ~AliAnaInsideClusterInvariantMass() { ; } //virtual dtor
- private:
-  AliAnaInsideClusterInvariantMass(const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor
-  AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ;//cpy assignment
 
- public:  
-       
   Bool_t       AreNeighbours(const Int_t absId1, const Int_t absId2) const ;  
   
   TObjString * GetAnalysisCuts();
@@ -58,14 +53,14 @@ class AliAnaInsideClusterInvariantMass : public AliAnaPartCorrBaseClass {
 
   void         SetMinNCells(Float_t cut)     { fMinNCells   = cut  ; }
 
-  void         SplitEnergy(const Int_t absId1, const Int_t absId2, AliVCaloCells* cells,
+  void         SplitEnergy(const Int_t absId1, const Int_t absId2, const AliVCaloCells* cells,
                            Float_t & e1, Float_t & e2 );
   
   void         Print(const Option_t * opt) const;
 
   //For histograms
-  enum mcTypes { mcPhoton = 1, mcConversion = 2, mcPi0    = 3,  
-                 mcEta    = 4, mcElectron   = 5, mcHadron = 6 };
+  enum mcTypes { kmcPhoton = 1, kmcConversion = 2, kmcPi0    = 3,  
+                 kmcEta    = 4, kmcElectron   = 5, kmcHadron = 6 };
 
  private:
   
@@ -96,6 +91,8 @@ class AliAnaInsideClusterInvariantMass : public AliAnaPartCorrBaseClass {
 
   TH2F       * fhInvMassAllCells[7] ; //! Inv mass of all cells
 
+  AliAnaInsideClusterInvariantMass(const AliAnaInsideClusterInvariantMass & g) ; // cpy ctor
+  AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & g) ;//cpy assignment
   
   ClassDef(AliAnaInsideClusterInvariantMass,1)
   
index 7c5bf69c72ab6ee848f1c833e1445d9fc03be907..a222283cd21aff9df7ac63f2dacd75a9c997308d 100644 (file)
@@ -45,7 +45,7 @@ ClassImp(AliAnaOmegaToPi0Gamma)
 AliAnaOmegaToPi0Gamma::AliAnaOmegaToPi0Gamma() : AliAnaPartCorrBaseClass(),
 fInputAODPi0(0), fInputAODGammaName(""),
 fEventsList(0x0),fNVtxZBin(0), fNCentBin(0), fNRpBin(0), fNBadChDistBin(0), fNpid(0),
-fNmaxMixEv(0), fVtxZCut(0), fCent(0), fRp(0), 
+fVtxZCut(0), fCent(0), fRp(0), 
 fPi0Mass(0),fPi0MassWindow(0),fPi0OverOmegaPtCut(0),
 fGammaOverOmegaPtCut(0), fEOverlapCluster(0),
 fhEtalon(0),
@@ -61,79 +61,6 @@ fhOmegaPriPt(0)
  //Default Ctor
  InitParameters();
 }
-/*
-//______________________________________________________________________________
-AliAnaOmegaToPi0Gamma::AliAnaOmegaToPi0Gamma(const AliAnaOmegaToPi0Gamma & ex) : AliAnaPartCorrBaseClass(ex),
-fInputAODPi0(new TClonesArray (*ex.fInputAODPi0)),
-fInputAODGammaName(ex.fInputAODGammaName),
-fEventsList(0x0), 
-fNVtxZBin(ex.fNVtxZBin), fNCentBin(ex.fNCentBin), fNRpBin(ex.fNRpBin),
-fNBadChDistBin(ex.fNBadChDistBin),fNpid(ex.fNpid),
-fNmaxMixEv(ex.fNmaxMixEv),
-fVtxZCut(ex.fVtxZCut), fCent(ex.fCent), fRp(ex.fRp), 
-fPi0Mass(ex.fPi0Mass),
-fPi0MassWindow(ex.fPi0MassWindow),
-fPi0OverOmegaPtCut(ex.fPi0OverOmegaPtCut),
-fGammaOverOmegaPtCut(ex.fGammaOverOmegaPtCut),
-fhEtalon(ex.fhEtalon),
-fRealOmega0(ex.fRealOmega0), fMixAOmega0(ex.fMixAOmega0),
-fMixBOmega0(ex.fMixBOmega0), fMixCOmega0(ex.fMixCOmega0),
-fRealOmega1(ex.fRealOmega1), fMixAOmega1(ex.fMixAOmega1),
-fMixBOmega1(ex.fMixBOmega1), fMixCOmega1(ex.fMixCOmega1),
-fRealOmega2(ex.fRealOmega2), fMixAOmega2(ex.fMixAOmega2),
-fMixBOmega2(ex.fMixBOmega2), fMixCOmega2(ex.fMixCOmega2),
-fhOmegaPriPt(ex.fhOmegaPriPt)
-{
- // cpy ctor
- //Do not need it
-}
-*/
-/*
-//______________________________________________________________________________
-AliAnaOmegaToPi0Gamma & AliAnaOmegaToPi0Gamma::operator = (const AliAnaOmegaToPi0Gamma & ex)
-{
- // assignment operator
-  
- if(this == &ex)return *this;
-   ((AliAnaPartCorrBaseClass *)this)->operator=(ex);
-   fInputAODPi0 = new TClonesArray(*ex.fInputAODPi0);
-   fInputAODGammaName = ex.fInputAODGammaName;
-   fEventsList = ex.fEventsList;
-
-   fNVtxZBin=ex.fNVtxZBin;
-   fNCentBin=ex.fNCentBin;
-   fNRpBin=ex.fNRpBin;
-   fNBadChDistBin=ex.fNBadChDistBin;
-   fNpid=ex.fNpid;
-   fNmaxMixEv =ex.fNmaxMixEv;
-
-   fVtxZCut=ex.fVtxZCut;
-   fCent=ex.fCent;
-   fRp=ex.fRp;
-
-   fPi0Mass=ex.fPi0Mass;
-   fPi0MassWindow=ex.fPi0MassWindow;
-   fPi0OverOmegaPtCut=ex.fPi0OverOmegaPtCut;
-   fGammaOverOmegaPtCut=ex.fGammaOverOmegaPtCut;
-
-   fhEtalon=ex.fhEtalon;
-   fRealOmega0=ex.fRealOmega0;
-   fMixAOmega0=ex.fMixAOmega0;
-   fMixBOmega0=ex.fMixBOmega0;
-   fMixCOmega0=ex.fMixCOmega0;
-   fRealOmega1=ex.fRealOmega1;
-   fMixAOmega1=ex.fMixAOmega1;
-   fMixBOmega1=ex.fMixBOmega1;
-   fMixCOmega1=ex.fMixCOmega1;
-   fRealOmega2=ex.fRealOmega2;
-   fMixAOmega2=ex.fMixAOmega2;
-   fMixBOmega2=ex.fMixBOmega2;
-   fMixCOmega2=ex.fMixCOmega2;
-   fhOmegaPriPt=ex.fhOmegaPriPt;
-  return *this;
-       
-}
-*/
 
 //______________________________________________________________________________
 AliAnaOmegaToPi0Gamma::~AliAnaOmegaToPi0Gamma() {
@@ -175,7 +102,6 @@ void AliAnaOmegaToPi0Gamma::InitParameters()
  fNRpBin=1;                 
  fNBadChDistBin=3;          
  fNpid=1;                   
- fNmaxMixEv=8;              
  
  fPi0Mass=0.1348;             
  fPi0MassWindow=0.015;       
@@ -379,7 +305,6 @@ void AliAnaOmegaToPi0Gamma::Print(const Option_t * /*opt*/) const
   printf("Cuts at AOD particle level:\n");
   printf("Number of PID:                        %d \n", fNpid);
   printf("Number of DistToBadChannel cuts:      %d\n", fNBadChDistBin);
-  printf("number of events buffer to be mixed:  %d\n",fNmaxMixEv);
 } 
 
 //______________________________________________________________________________
@@ -740,7 +665,7 @@ void AliAnaOmegaToPi0Gamma::MakeAnalysisFillHistograms()
   if(currentEvent->GetEntriesFast()>0){
     fEventsList[curEventBin]->AddFirst(currentEvent) ;
     currentEvent=0 ; 
-    if(fEventsList[curEventBin]->GetSize()>=fNmaxMixEv) {
+    if(fEventsList[curEventBin]->GetSize()>=GetNMaxEvMix()) {
       TClonesArray * tmp = (TClonesArray*) (fEventsList[curEventBin]->Last()) ;
       fEventsList[curEventBin]->RemoveLast() ;
       delete tmp ;
index 3976e599908a683c964722dd46a9129e78635580..024b7e4ae27797b0d0bfc4e83295167f06e86109 100644 (file)
@@ -24,12 +24,7 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   AliAnaOmegaToPi0Gamma() ; // default ctor
   AliAnaOmegaToPi0Gamma(const char *name) ; // default ctor
   virtual ~AliAnaOmegaToPi0Gamma() ;//virtual dtor
-
-  private:
-  AliAnaOmegaToPi0Gamma(const AliAnaOmegaToPi0Gamma & ex) ; // cpy ctor
-  AliAnaOmegaToPi0Gamma & operator = (const AliAnaOmegaToPi0Gamma & ex) ;//cpy assignment
-
-  public: 
+  
   TList * GetCreateOutputObjects(); 
   void Print(const Option_t * opt) const;
   
@@ -37,11 +32,9 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   void MakeAnalysisFillHistograms();
   void Terminate(TList * outList);
 
-  TString GetInputAODPhotonName() const {return fInputAODGammaName;}
-  void SetInputAODPhotonName(TString & name) { fInputAODGammaName = name; }
-  Bool_t IsBadRun(Int_t /*iRun*/) const {return kFALSE;} //Tests if this run bad according to private list
-
-  void SetNEventsMixed(Int_t nevents) { fNmaxMixEv=nevents;} //events to be mixed
+  TString GetInputAODPhotonName()  const { return fInputAODGammaName;}
+  void    SetInputAODPhotonName(TString & name) { fInputAODGammaName = name; }
+  Bool_t  IsBadRun(Int_t /*iRun*/) const { return kFALSE;} //Tests if this run bad according to private list
 
   void SetNCentBin(Int_t nbin){fNCentBin = nbin;}
   void SetNPID(Int_t pid) {fNpid=pid;} //N pid cut 
@@ -65,7 +58,6 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   Int_t fNRpBin;                 //Number of reaction plane cut
   Int_t fNBadChDistBin;          //Number of bad channel dist cut
   Int_t fNpid;                   //Number of PID cut
-  Int_t fNmaxMixEv;              //buffer size events to be mixed
 
   Double_t *fVtxZCut;            //![fNVtxZBin] vtertx z cut
   Double_t *fCent;               //![fNCentBin] centrality cut
@@ -75,13 +67,13 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   Double_t fPi0MassWindow;       //pi0 mass windows
   Double_t fPi0OverOmegaPtCut;   //pi0 Pt over omega pt cut
   Double_t fGammaOverOmegaPtCut; //gamma pt over omega pt cut
-  Double_t fEOverlapCluster;    //the pt when the two photons overlapped
+  Double_t fEOverlapCluster;     //the pt when the two photons overlapped
 
   TH2F * fhEtalon;               //an etalon of 3D histograms
-  TH2F **fRealOmega0;             //real omega IVM(asy, pt, m), with Asy_pi0<1 
-  TH2F **fMixAOmega0;             //mixA omega IVM(asy, pt, m) 
-  TH2F **fMixBOmega0;             //mixB omega IVM(asy, pt, m) 
-  TH2F **fMixCOmega0;             //mixC omega IVM(asy, pt, m) 
+  TH2F **fRealOmega0;            //real omega IVM(asy, pt, m), with Asy_pi0<1 
+  TH2F **fMixAOmega0;            //mixA omega IVM(asy, pt, m) 
+  TH2F **fMixBOmega0;            //mixB omega IVM(asy, pt, m) 
+  TH2F **fMixCOmega0;            //mixC omega IVM(asy, pt, m) 
   TH2F **fRealOmega1;            //real omega IVM(asy, pt, m), with Asy_pi0<0.7
   TH2F **fMixAOmega1;            //mixA omega IVM(asy, pt, m)
   TH2F **fMixBOmega1;            //mixB omega IVM(asy, pt, m)
@@ -91,10 +83,13 @@ class AliAnaOmegaToPi0Gamma : public AliAnaPartCorrBaseClass {
   TH2F **fMixBOmega2;            //mixB omega IVM(asy, pt, m)
   TH2F **fMixCOmega2;            //mixC omega IVM(asy, pt, m)
 
-  TH2F **fhFakeOmega;     //high pt clusters assumed as pi0 + another gamma 
+  TH2F **fhFakeOmega;            //high pt clusters assumed as pi0 + another gamma 
 
   TH1F *fhOmegaPriPt;            //MC primary omega pt in 2pi and |y|<0.5
-
+  
+  AliAnaOmegaToPi0Gamma(const AliAnaOmegaToPi0Gamma & ex) ;              // cpy ctor
+  AliAnaOmegaToPi0Gamma & operator = (const AliAnaOmegaToPi0Gamma & ex) ;// cpy assignment
+  
   ClassDef(AliAnaOmegaToPi0Gamma,2)
 
 } ;
index e95ba8de4c5b2778d9cbdac4be9d005be2951685..2d033496f8ccbdf26ab73bad64a7e5899cb44d57 100755 (executable)
@@ -887,9 +887,9 @@ void  AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms()
   if(GetDebug() > 1) printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - End fill histograms \n");
 }
 
-//_________________________________________________________________________________________________________
+//___________________________________________________________________________________________________________
 Bool_t  AliAnaParticleHadronCorrelation::MakeChargedCorrelation(AliAODPWG4ParticleCorrelation *aodParticle, 
-                                                                TObjArray* pl, const Bool_t bFillHisto)
+                                                                const TObjArray* pl, const Bool_t bFillHisto)
 {  
   // Charged Hadron Correlation Analysis
   if(GetDebug() > 1)printf("AliAnaParticleHadronCorrelation::MakeChargedCorrelation() - Make trigger particle - charged hadron correlation \n");
@@ -1183,7 +1183,7 @@ Bool_t  AliAnaParticleHadronCorrelation::MakeChargedCorrelation(AliAODPWG4Partic
 
 //________________________________________________________________________________________________________________
 Bool_t  AliAnaParticleHadronCorrelation::MakeNeutralCorrelation(AliAODPWG4ParticleCorrelation * const aodParticle, 
-                                                                TObjArray* pi0list, const Bool_t bFillHisto)  
+                                                                const TObjArray* pi0list, const Bool_t bFillHisto)  
 {  
   // Neutral Pion Correlation Analysis
   if(GetDebug() > 1) printf("AliAnaParticleHadronCorrelation::MakeNeutralCorrelation() - Make trigger particle - pi0 correlation, %d pi0's \n",pi0list->GetEntriesFast());
@@ -1483,7 +1483,10 @@ void  AliAnaParticleHadronCorrelation::MakeMCChargedCorrelation(AliAODPWG4Partic
             //Select only hadrons in pt range
             if(mcTrackPt < GetMinPt() || mcTrackPt > GetMaxPt()) continue ;
             //remove trigger itself for correlation when use charged triggers 
-            if(label==iParticle && mcTrackPt==ptprim && mcTrackPhi==phiprim && mcTrackEta==etaprim) 
+            if(label==iParticle && 
+               TMath::Abs(mcTrackPt -ptprim ) < 1e-6 && 
+               TMath::Abs(mcTrackPhi-phiprim) < 1e-6 && 
+               TMath::Abs(mcTrackEta-etaprim) < 1e-6) 
               continue ;                  
             //jumped out this event if near side associated partile pt larger than trigger
             if( mcTrackPt> ptprim && TMath::Abs(mcTrackPhi-phiprim)<TMath::PiOver2()) 
@@ -1575,9 +1578,13 @@ void  AliAnaParticleHadronCorrelation::MakeMCChargedCorrelation(AliAODPWG4Partic
               if(mcTrackPhi < 0) mcTrackPhi+=TMath::TwoPi();              
               //Select only hadrons in pt range
               if(mcTrackPt < GetMinPt() || mcTrackPt > GetMaxPt()) continue ;
+              
               //remove trigger itself for correlation when use charged triggers 
-              if(label==i && mcTrackPt==ptprim && mcTrackPhi==phiprim && mcTrackEta==etaprim) 
-                continue ;                  
+              if(label==i && 
+                 TMath::Abs(mcTrackPt -ptprim ) < 1e-6 && 
+                 TMath::Abs(mcTrackPhi-phiprim) < 1e-6 && 
+                 TMath::Abs(mcTrackEta-etaprim) < 1e-6) continue ;  
+              
               //jumped out this event if near side associated partile pt larger than trigger
               if( mcTrackPt> ptprim && TMath::Abs(mcTrackPhi-phiprim)<TMath::PiOver2()) 
                 return ;
index 49110d7ed247788fe2c97e92c38d54676c8562af..b7fe89465fd1251402e85cd55871312a349487dd 100755 (executable)
@@ -29,13 +29,9 @@ class AliAODPWG4ParticleCorrelation ;
 class AliAnaParticleHadronCorrelation : public AliAnaPartCorrBaseClass {
   
  public: 
+  
   AliAnaParticleHadronCorrelation() ; // default ctor
   virtual ~AliAnaParticleHadronCorrelation() {;} //virtual dtor
- private:  
-  AliAnaParticleHadronCorrelation(const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
-  AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ;//cpy assignment
-
- public:
   
   // General methods
   
@@ -53,9 +49,9 @@ class AliAnaParticleHadronCorrelation : public AliAnaPartCorrBaseClass {
   
   // Main analysis methods
   
-  Bool_t       MakeChargedCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, TObjArray* pl, const Bool_t bFillHisto) ;
+  Bool_t       MakeChargedCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, const Bool_t bFillHisto) ;
   
-  Bool_t       MakeNeutralCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, TObjArray* pl, const Bool_t bFillHisto) ;
+  Bool_t       MakeNeutralCorrelation  (AliAODPWG4ParticleCorrelation * aodParticle, const TObjArray* pl, const Bool_t bFillHisto) ;
   
   void         MakeMCChargedCorrelation(AliAODPWG4ParticleCorrelation *aodParticle);
   
@@ -208,6 +204,8 @@ class AliAnaParticleHadronCorrelation : public AliAnaPartCorrBaseClass {
   TH2F *       fhMCPtTrigPout ;                //! add explanation
   TH2F *       fhMCPtAssocDeltaPhi  ;          //! Pout =associated pt*sin(delta phi) distribution
 
+  AliAnaParticleHadronCorrelation(const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
+  AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ;//cpy assignment
        
   ClassDef(AliAnaParticleHadronCorrelation,8)
 } ;
index a95404dc334ea940efa5dc2dbcaca98b48a0a620..7b7aa2ee67b86c88a43be29b1679934f116ec620 100755 (executable)
@@ -31,12 +31,6 @@ class AliAnaParticleIsolation : public AliAnaPartCorrBaseClass {
   AliAnaParticleIsolation() ; // default ctor
   virtual ~AliAnaParticleIsolation() { ; } //virtual dtor
 
- private:
-  AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ; // cpy ctor
-  AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;//cpy assignment
-
- public:
-
   // Main general methods
     
   TObjString * GetAnalysisCuts();
@@ -186,6 +180,9 @@ class AliAnaParticleIsolation : public AliAnaPartCorrBaseClass {
   Float_t  fHistoPtInConeMax;                     // PtInCone maximum in histogram
   Float_t  fHistoPtInConeMin;                     // PtInCone maximum in histogram 
   
+  AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ;              // cpy ctor
+  AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;// cpy assignment
+  
   ClassDef(AliAnaParticleIsolation,4)
 } ;
 
index 57100d052eded646a3f17716b5f36bd6dc1686cb..2db18a75396f91977d808a7f469a8a9028481178 100755 (executable)
@@ -179,10 +179,9 @@ TList *  AliAnaParticleJetFinderCorrelation::GetCreateOutputObjects()
 
 }
 
-//____________________________________________________________________________
+//_______________________________________________________
 void AliAnaParticleJetFinderCorrelation::InitParameters()
 {
-  
   //Initialize the parameters of the analysis.
   SetInputAODName("PWG4Particle");
   AddToHistogramsName("AnaJetFinderCorr_");
@@ -196,10 +195,12 @@ void AliAnaParticleJetFinderCorrelation::InitParameters()
   fUseJetRefTracks   = kFALSE ;
   fMakeCorrelationInHistoMaker = kFALSE ;
   fSelectIsolated = kFALSE;
-  }
+  
+}
 
-//__________________________________________________________________
-Int_t  AliAnaParticleJetFinderCorrelation::SelectJet(AliAODPWG4Particle * particle, AliAODEvent *event) const 
+//__________________________________________________________________________________
+Int_t  AliAnaParticleJetFinderCorrelation::SelectJet(AliAODPWG4Particle * particle, 
+                                                     const AliAODEvent *event) const 
 {
   //Returns the index of the jet that is opposite to the particle
   
index 71694fd10ba01d91c10ece029fe7f0326daf8fb8..a791d6af307bf87133ac5da42e934b1d42d6f0bd 100755 (executable)
@@ -22,77 +22,79 @@ class TH2F;
 class AliAnaParticleJetFinderCorrelation : public AliAnaPartCorrBaseClass {
        
  public:   
-  AliAnaParticleJetFinderCorrelation() ; // default ctor
-  virtual ~AliAnaParticleJetFinderCorrelation() {;} //virtual dtor
- private:
-  AliAnaParticleJetFinderCorrelation(const AliAnaParticleJetFinderCorrelation & g) ; // cpy ctor
-  AliAnaParticleJetFinderCorrelation & operator = (const AliAnaParticleJetFinderCorrelation & g) ;//cpy assignment
+  AliAnaParticleJetFinderCorrelation() ;            // default ctor
+  virtual ~AliAnaParticleJetFinderCorrelation() {;} // virtual dtor
 
- public:
-
-  TList * GetCreateOutputObjects();
-  
-  Bool_t OnlyIsolated() const {return fSelectIsolated ; }
-  void SelectIsolated(Bool_t select) {fSelectIsolated = select ; }
-  
-  void InitParameters();
+  // General methods
   
-  void Print(const Option_t * opt) const;
+  void     InitParameters();
   
-  Float_t  GetConeSize()          const { return fConeSize ; }
-  Float_t  GetPtThresholdInCone() const { return fPtThresholdInCone ; }           
-  Double_t GetDeltaPhiMaxCut()    const { return fDeltaPhiMaxCut ; }
-  Double_t GetDeltaPhiMinCut()    const { return fDeltaPhiMinCut ; }
-  Double_t GetRatioMaxCut()       const { return fRatioMaxCut ; }
-  Double_t GetRatioMinCut()       const { return fRatioMinCut ; }         
-  Bool_t   AreJetRefTracks()      const { return fUseJetRefTracks ; }
-  Bool_t   IsCorrelationMadeInHistoMaker() const {return fMakeCorrelationInHistoMaker ;} 
+  TList *  GetCreateOutputObjects();
+
+  void     MakeAnalysisFillAOD() ;
   
-  void SetConeSize(Float_t cone) {fConeSize = cone; }
-  void SetPtThresholdInCone(Float_t pt){fPtThresholdInCone = pt; };       
-  void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
-  {fDeltaPhiMaxCut =phimax;  fDeltaPhiMinCut =phimin;}
-  void SetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
-  {fRatioMaxCut =ratiomax;  fRatioMinCut = ratiomin ; }
-  void UseJetRefTracks(Bool_t use) {fUseJetRefTracks = use ; } 
-  void SetMakeCorrelationInHistoMaker(Bool_t make) {fMakeCorrelationInHistoMaker = make ;}     
+  void     MakeAnalysisFillHistograms() ;
   
- private:
+  Int_t    SelectJet(AliAODPWG4Particle * particle, const AliAODEvent * event) const ;
+
+  void     Print(const Option_t * opt)           const;
   
-  Int_t SelectJet(AliAODPWG4Particle * particle, AliAODEvent * event) const ;
+  // Settings
   
-  void MakeAnalysisFillAOD() ;
-  void MakeAnalysisFillHistograms() ;
+  Bool_t   OnlyIsolated()                        const { return fSelectIsolated              ; }
+  void     SelectIsolated(Bool_t select)               { fSelectIsolated = select            ; }
   
- private:
+  Float_t  GetConeSize()                         const { return fConeSize                    ; }
+  Float_t  GetPtThresholdInCone()                const { return fPtThresholdInCone           ; }          
+  Double_t GetDeltaPhiMaxCut()                   const { return fDeltaPhiMaxCut              ; }
+  Double_t GetDeltaPhiMinCut()                   const { return fDeltaPhiMinCut              ; }
+  Double_t GetRatioMaxCut()                      const { return fRatioMaxCut                 ; }
+  Double_t GetRatioMinCut()                      const { return fRatioMinCut                 ; }          
+  Bool_t   AreJetRefTracks()                     const { return fUseJetRefTracks             ; }
+  Bool_t   IsCorrelationMadeInHistoMaker()       const { return fMakeCorrelationInHistoMaker ; } 
   
+  void     SetConeSize(Float_t cone)                   { fConeSize = cone                    ; }
+  void     SetPtThresholdInCone(Float_t pt)            { fPtThresholdInCone = pt             ; }          
+  void     SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
+            { fDeltaPhiMaxCut =phimax;  fDeltaPhiMinCut =phimin                              ; }
+  void     SetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
+            { fRatioMaxCut =ratiomax;  fRatioMinCut = ratiomin                               ; }
+  void     UseJetRefTracks(Bool_t use)                 { fUseJetRefTracks = use              ; }       
+  void     SetMakeCorrelationInHistoMaker(Bool_t make) { fMakeCorrelationInHistoMaker = make ; }       
+    
+private:
+
   //selection parameters  
-  Double_t   fDeltaPhiMaxCut ; //! Minimum Delta Phi Gamma-Leading
-  Double_t   fDeltaPhiMinCut ; //!  Maximum Delta Phi Gamma-Leading
-  Double_t   fRatioMaxCut ; //! Jet/ particle Ratio cut maximum
-  Double_t   fRatioMinCut ; //! Jet/particle Ratio cut minimum
+  Double_t   fDeltaPhiMaxCut ;    //! Minimum Delta Phi Gamma-Leading
+  Double_t   fDeltaPhiMinCut ;    //!  Maximum Delta Phi Gamma-Leading
+  Double_t   fRatioMaxCut ;       //! Jet/ particle Ratio cut maximum
+  Double_t   fRatioMinCut ;       //! Jet/particle Ratio cut minimum
   
   Double_t   fConeSize  ;         //! Jet cone size 
   Double_t   fPtThresholdInCone ; //! Jet pT threshold in jet cone
-  Bool_t     fUseJetRefTracks ; //! Use track references from JETAN not the AOD tracks
+  Bool_t     fUseJetRefTracks ;   //! Use track references from JETAN not the AOD tracks
   Bool_t          fMakeCorrelationInHistoMaker ; //!Make particle-jet correlation in histogram maker
-  Bool_t     fSelectIsolated ;      // Select only trigger particles isolated
+  Bool_t     fSelectIsolated ;    // Select only trigger particles isolated
+  
+  // Histograms
+  TH2F *     fhDeltaEta;          //! Difference of jet eta and trigger particle eta as function of trigger particle pT
+  TH2F *     fhDeltaPhi;          //! Difference of jet phi and trigger particle phi as function of trigger particle pT
+  TH2F *     fhDeltaPt;           //! Difference of jet pT and trigger particle pT as function of trigger particle pT
+  TH2F *     fhPtRatio;           //! Ratio of jet pT and trigger particle pT as function of trigger particle pT
+  TH2F *     fhPt;                //! jet pT vs trigger particle pT 
   
-  TH2F * fhDeltaEta; //! Difference of jet eta and trigger particle eta as function of trigger particle pT
-  TH2F * fhDeltaPhi;  //! Difference of jet phi and trigger particle phi as function of trigger particle pT
-  TH2F * fhDeltaPt; //! Difference of jet pT and trigger particle pT as function of trigger particle pT
-  TH2F * fhPtRatio; //! Ratio of jet pT and trigger particle pT as function of trigger particle pT
-  TH2F * fhPt; //! jet pT vs trigger particle pT 
+  TH2F *     fhFFz ;              //! Accepted reconstructed jet fragmentation function, z=ptjet/pttrig
+  TH2F *     fhFFxi;              //! Accepted reconstructed jet fragmentation function, xsi = ln(pttrig/ptjet)
+  TH2F *     fhFFpt;              //! Jet particle pt distribution in cone
+  TH2F *     fhNTracksInCone;     //! jet multiplicity in cone
   
-  TH2F * fhFFz ; //! Accepted reconstructed jet fragmentation function, z=ptjet/pttrig
-  TH2F * fhFFxi; //! Accepted reconstructed jet fragmentation function, xsi = ln(pttrig/ptjet)
-  TH2F * fhFFpt; //! Jet particle pt distribution in cone
-  TH2F * fhNTracksInCone   ; //! jet multiplicity in cone
+  AliAnaParticleJetFinderCorrelation(const AliAnaParticleJetFinderCorrelation & g) ;               // cpy ctor
+  AliAnaParticleJetFinderCorrelation & operator = (const AliAnaParticleJetFinderCorrelation & g) ; // cpy assignment
   
   ClassDef(AliAnaParticleJetFinderCorrelation,2)
+  
  } ;
 
-
 #endif //ALIANAPARTICLEJETFINDERCORRELATION_H
 
 
index 583664c63666c5cf3b6601a4ceb623b21141ef8c..9c41110e2a3827549cab45e5c214530a89c055f8 100755 (executable)
@@ -32,11 +32,6 @@ class AliAnaParticleJetLeadingConeCorrelation : public AliAnaPartCorrBaseClass {
 public: 
   AliAnaParticleJetLeadingConeCorrelation() ; // default ctor
   virtual ~AliAnaParticleJetLeadingConeCorrelation() ; //virtual dtor
- private:
-  AliAnaParticleJetLeadingConeCorrelation(const AliAnaParticleJetLeadingConeCorrelation & g) ; // cpy ctor
-  AliAnaParticleJetLeadingConeCorrelation & operator = (const AliAnaParticleJetLeadingConeCorrelation & g) ;//cpy assignment
-
- public:
 
   TList * GetCreateOutputObjects();
 
@@ -252,6 +247,8 @@ public:
   TH2F * fhBkgFFpts[5][5]; //! Background particle pt distribution in cone
   TH2F * fhBkgNTracksInCones[5][5]; //! Background multiplicity in cone
   
+  AliAnaParticleJetLeadingConeCorrelation(const AliAnaParticleJetLeadingConeCorrelation & g) ; // cpy ctor
+  AliAnaParticleJetLeadingConeCorrelation & operator = (const AliAnaParticleJetLeadingConeCorrelation & g) ;//cpy assignment
   
   ClassDef(AliAnaParticleJetLeadingConeCorrelation,1)
  } ;
index 098c6d81a41250109ba010995c81ba081a7d448c..0ae06d1066a2a2060580e76f17e150791d93fb2e 100755 (executable)
@@ -17,39 +17,39 @@ class TH2F ;
 
 class AliAnaParticlePartonCorrelation : public AliAnaPartCorrBaseClass {
        
- public:
+public:
+  
   AliAnaParticlePartonCorrelation() ; // default ctor
   virtual ~AliAnaParticlePartonCorrelation() {;} //virtual dtor              
- private:
-  AliAnaParticlePartonCorrelation(const AliAnaParticlePartonCorrelation & g) ; // cpy ctor
-  AliAnaParticlePartonCorrelation & operator = (const AliAnaParticlePartonCorrelation & g) ;//cpy assignment
-
- public:
-
-       TList * GetCreateOutputObjects();
-       
-       void InitParameters();
-       
-       void Print(const Option_t * opt) const;
-       
-       void MakeAnalysisFillAOD()  ;
-       
-       void MakeAnalysisFillHistograms() ; 
-       
-  private:
-       
-       TH2F * fhDeltaEtaNearParton; //! Difference of parton eta and prompt trigger particle eta
-       TH2F * fhDeltaPhiNearParton; //! Difference of parton phi and prompt trigger particle phi
-       TH2F * fhDeltaPtNearParton; //! Difference of parton pT and prompt trigger particle pT
-       TH2F * fhPtRatNearParton; //! Ratio of parton pT and prompt trigger particle pT
-       
-       TH2F * fhDeltaEtaAwayParton; //! Difference of parton eta and prompt trigger particle eta
-       TH2F * fhDeltaPhiAwayParton; //! Difference of parton phi and prompt trigger particle phi
-       TH2F * fhDeltaPtAwayParton; //! Difference of parton pT and prompt trigger particle pT
-       TH2F * fhPtRatAwayParton; //! Ratio of parton pT and prompt trigger particle pT
-
-       ClassDef(AliAnaParticlePartonCorrelation,1)
- } ;
+  
+  TList * GetCreateOutputObjects();
+  
+  void InitParameters();
+    
+  void MakeAnalysisFillAOD()  ;
+  
+  void MakeAnalysisFillHistograms() ; 
+  
+  void Print(const Option_t * opt) const;
+  
+private:
+  
+  TH2F * fhDeltaEtaNearParton; //! Difference of parton eta and prompt trigger particle eta
+  TH2F * fhDeltaPhiNearParton; //! Difference of parton phi and prompt trigger particle phi
+  TH2F * fhDeltaPtNearParton;  //! Difference of parton pT and prompt trigger particle pT
+  TH2F * fhPtRatNearParton;    //! Ratio of parton pT and prompt trigger particle pT
+  
+  TH2F * fhDeltaEtaAwayParton; //! Difference of parton eta and prompt trigger particle eta
+  TH2F * fhDeltaPhiAwayParton; //! Difference of parton phi and prompt trigger particle phi
+  TH2F * fhDeltaPtAwayParton;  //! Difference of parton pT and prompt trigger particle pT
+  TH2F * fhPtRatAwayParton;    //! Ratio of parton pT and prompt trigger particle pT
+  
+  AliAnaParticlePartonCorrelation(const AliAnaParticlePartonCorrelation & g) ;               // cpy ctor
+  AliAnaParticlePartonCorrelation & operator = (const AliAnaParticlePartonCorrelation & g) ; // cpy assignment
+  
+  ClassDef(AliAnaParticlePartonCorrelation,1)
+  
+} ;
 
 
 #endif //ALIANAPARTICLEPARTONCORRELATION_H
index 599e15f50fe98de12f725984368191ba2fb92727..167c2f0b82f681268ef1b2243607b4dfc36cf739 100755 (executable)
@@ -45,6 +45,9 @@
 #include "AliAODMCParticle.h"
 #include "AliMixedEvent.h"
 
+// --- Detectors --- 
+#include "AliPHOSGeoUtils.h"
+#include "AliEMCALGeometry.h"
 
 ClassImp(AliAnaPhoton)
   
@@ -279,117 +282,117 @@ void AliAnaPhoton::FillAcceptanceHistograms(){
           
           //Fill histograms
           
-          fhYPrimMC[mcPPhoton]->Fill(photonPt, photonY) ;
+          fhYPrimMC[kmcPPhoton]->Fill(photonPt, photonY) ;
           if(TMath::Abs(photonY) < 1.0)
           {
-            fhEPrimMC  [mcPPhoton]->Fill(photonE ) ;
-            fhPtPrimMC [mcPPhoton]->Fill(photonPt) ;
-            fhPhiPrimMC[mcPPhoton]->Fill(photonE , photonPhi) ;
-            fhYPrimMC[mcPPhoton]  ->Fill(photonE , photonEta) ;
+            fhEPrimMC  [kmcPPhoton]->Fill(photonE ) ;
+            fhPtPrimMC [kmcPPhoton]->Fill(photonPt) ;
+            fhPhiPrimMC[kmcPPhoton]->Fill(photonE , photonPhi) ;
+            fhYPrimMC[kmcPPhoton]  ->Fill(photonE , photonEta) ;
           }
           if(inacceptance){
-            fhEPrimMCAcc[mcPPhoton]  ->Fill(photonE ) ;
-            fhPtPrimMCAcc[mcPPhoton] ->Fill(photonPt) ;
-            fhPhiPrimMCAcc[mcPPhoton]->Fill(photonE , photonPhi) ;
-            fhYPrimMCAcc[mcPPhoton]  ->Fill(photonE , photonY) ;
+            fhEPrimMCAcc[kmcPPhoton]  ->Fill(photonE ) ;
+            fhPtPrimMCAcc[kmcPPhoton] ->Fill(photonPt) ;
+            fhPhiPrimMCAcc[kmcPPhoton]->Fill(photonE , photonPhi) ;
+            fhYPrimMCAcc[kmcPPhoton]  ->Fill(photonE , photonY) ;
           }//Accepted
           
           //Origin of photon
-          if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt) && fhEPrimMC[mcPPrompt])
+          if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt) && fhEPrimMC[kmcPPrompt])
           {
-            fhYPrimMC[mcPPrompt]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPPrompt]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPPrompt]->Fill(photonE ) ;
-              fhPtPrimMC [mcPPrompt]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPPrompt]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPPrompt]  ->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPPrompt]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPPrompt]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPPrompt]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPPrompt]  ->Fill(photonE , photonEta) ;
             }   
             if(inacceptance){
-              fhEPrimMCAcc[mcPPrompt]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPPrompt] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPPrompt]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPPrompt]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPPrompt]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPPrompt] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPPrompt]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPPrompt]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation) && fhEPrimMC[mcPFragmentation])
+          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation) && fhEPrimMC[kmcPFragmentation])
           {
-            fhYPrimMC[mcPFragmentation]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPFragmentation]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPFragmentation]->Fill(photonE ) ;
-              fhPtPrimMC [mcPFragmentation]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPFragmentation]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPFragmentation]  ->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPFragmentation]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPFragmentation]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPFragmentation]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPFragmentation]  ->Fill(photonE , photonEta) ;
             }  
             if(inacceptance){
-              fhEPrimMCAcc[mcPFragmentation]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPFragmentation] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPFragmentation]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPFragmentation]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPFragmentation]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPFragmentation] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPFragmentation]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPFragmentation]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCISR) && fhEPrimMC[mcPISR])
+          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCISR) && fhEPrimMC[kmcPISR])
           {
-            fhYPrimMC[mcPISR]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPISR]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPISR]->Fill(photonE ) ;
-              fhPtPrimMC [mcPISR]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPISR]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPISR]->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPISR]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPISR]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPISR]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPISR]->Fill(photonE , photonEta) ;
             }            
             if(inacceptance){
-              fhEPrimMCAcc[mcPISR]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPISR] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPISR]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPISR]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPISR]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPISR] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPISR]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPISR]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)&& fhEPrimMC[mcPPi0Decay])
+          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)&& fhEPrimMC[kmcPPi0Decay])
           {
-            fhYPrimMC[mcPPi0Decay]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPPi0Decay]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPPi0Decay]->Fill(photonE ) ;
-              fhPtPrimMC [mcPPi0Decay]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPPi0Decay]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPPi0Decay]  ->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPPi0Decay]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPPi0Decay]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPPi0Decay]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPPi0Decay]  ->Fill(photonE , photonEta) ;
             }     
             if(inacceptance){
-              fhEPrimMCAcc[mcPPi0Decay]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPPi0Decay] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPPi0Decay]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPPi0Decay]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPPi0Decay]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPPi0Decay] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPPi0Decay]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPPi0Decay]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
           else if( (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) || 
-                    GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) && fhEPrimMC[mcPOtherDecay])
+                    GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) && fhEPrimMC[kmcPOtherDecay])
           {
-            fhYPrimMC[mcPOtherDecay]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPOtherDecay]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPOtherDecay]->Fill(photonE ) ;
-              fhPtPrimMC [mcPOtherDecay]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPOtherDecay]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPOtherDecay]  ->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPOtherDecay]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPOtherDecay]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPOtherDecay]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPOtherDecay]  ->Fill(photonE , photonEta) ;
             } 
             if(inacceptance){
-              fhEPrimMCAcc[mcPOtherDecay]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPOtherDecay] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPOtherDecay]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPOtherDecay]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPOtherDecay]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPOtherDecay] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPOtherDecay]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPOtherDecay]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(fhEPrimMC[mcPOther])
+          else if(fhEPrimMC[kmcPOther])
           {
-            fhYPrimMC[mcPOther]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPOther]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPOther]->Fill(photonE ) ;
-              fhPtPrimMC [mcPOther]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPOther]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPOther]  ->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPOther]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPOther]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPOther]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPOther]  ->Fill(photonE , photonEta) ;
             }
             if(inacceptance){
-              fhEPrimMCAcc[mcPOther]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPOther] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPOther]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPOther]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPOther]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPOther] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPOther]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPOther]  ->Fill(photonE , photonY) ;
             }//Accepted
           }//Other origin
         }// Primary photon 
@@ -480,124 +483,124 @@ void AliAnaPhoton::FillAcceptanceHistograms(){
           
           //Fill histograms
           
-          fhYPrimMC[mcPPhoton]->Fill(photonPt, photonY) ;
+          fhYPrimMC[kmcPPhoton]->Fill(photonPt, photonY) ;
           if(TMath::Abs(photonY) < 1.0)
           {
-            fhEPrimMC  [mcPPhoton]->Fill(photonE ) ;
-            fhPtPrimMC [mcPPhoton]->Fill(photonPt) ;
-            fhPhiPrimMC[mcPPhoton]->Fill(photonE , photonPhi) ;
-            fhYPrimMC[mcPPhoton]->Fill(photonE , photonEta) ;
+            fhEPrimMC  [kmcPPhoton]->Fill(photonE ) ;
+            fhPtPrimMC [kmcPPhoton]->Fill(photonPt) ;
+            fhPhiPrimMC[kmcPPhoton]->Fill(photonE , photonPhi) ;
+            fhYPrimMC[kmcPPhoton]->Fill(photonE , photonEta) ;
           }
           if(inacceptance){
-            fhEPrimMCAcc[mcPPhoton]  ->Fill(photonE ) ;
-            fhPtPrimMCAcc[mcPPhoton] ->Fill(photonPt) ;
-            fhPhiPrimMCAcc[mcPPhoton]->Fill(photonE , photonPhi) ;
-            fhYPrimMCAcc[mcPPhoton]  ->Fill(photonE , photonY) ;
+            fhEPrimMCAcc[kmcPPhoton]  ->Fill(photonE ) ;
+            fhPtPrimMCAcc[kmcPPhoton] ->Fill(photonPt) ;
+            fhPhiPrimMCAcc[kmcPPhoton]->Fill(photonE , photonPhi) ;
+            fhYPrimMCAcc[kmcPPhoton]  ->Fill(photonE , photonY) ;
           }//Accepted
           
           
           //Origin of photon
-          if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt) && fhEPrimMC[mcPPrompt])
+          if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt) && fhEPrimMC[kmcPPrompt])
           {
-            fhYPrimMC[mcPPrompt]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPPrompt]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPPrompt]->Fill(photonE ) ;
-              fhPtPrimMC [mcPPrompt]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPPrompt]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPPrompt]->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPPrompt]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPPrompt]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPPrompt]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPPrompt]->Fill(photonE , photonEta) ;
             }   
             if(inacceptance){
-              fhEPrimMCAcc[mcPPrompt]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPPrompt] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPPrompt]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPPrompt]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPPrompt]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPPrompt] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPPrompt]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPPrompt]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation) && fhEPrimMC[mcPFragmentation] )
+          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation) && fhEPrimMC[kmcPFragmentation] )
           {
-            fhYPrimMC[mcPFragmentation]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPFragmentation]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPFragmentation]->Fill(photonE ) ;
-              fhPtPrimMC [mcPFragmentation]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPFragmentation]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPFragmentation]->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPFragmentation]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPFragmentation]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPFragmentation]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPFragmentation]->Fill(photonE , photonEta) ;
             }  
             if(inacceptance){
-              fhEPrimMCAcc[mcPFragmentation]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPFragmentation] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPFragmentation]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPFragmentation]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPFragmentation]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPFragmentation] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPFragmentation]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPFragmentation]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCISR) && fhEPrimMC[mcPISR])
+          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCISR) && fhEPrimMC[kmcPISR])
           {
-            fhYPrimMC[mcPISR]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPISR]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPISR]->Fill(photonE ) ;
-              fhPtPrimMC [mcPISR]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPISR]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPISR]->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPISR]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPISR]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPISR]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPISR]->Fill(photonE , photonEta) ;
             }            
             if(inacceptance){
-              fhEPrimMCAcc[mcPISR]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPISR] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPISR]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPISR]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPISR]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPISR] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPISR]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPISR]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)&& fhEPrimMC[mcPPi0Decay])
+          else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)&& fhEPrimMC[kmcPPi0Decay])
           {
-            fhYPrimMC[mcPPi0Decay]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPPi0Decay]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPPi0Decay]->Fill(photonE ) ;
-              fhPtPrimMC [mcPPi0Decay]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPPi0Decay]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPPi0Decay]->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPPi0Decay]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPPi0Decay]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPPi0Decay]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPPi0Decay]->Fill(photonE , photonEta) ;
             }     
             if(inacceptance){
-              fhEPrimMCAcc[mcPPi0Decay]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPPi0Decay] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPPi0Decay]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPPi0Decay]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPPi0Decay]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPPi0Decay] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPPi0Decay]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPPi0Decay]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
           else if((GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) || 
-                   GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhEPrimMC[mcPOtherDecay])
+                   GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhEPrimMC[kmcPOtherDecay])
           {
-            fhYPrimMC[mcPOtherDecay]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPOtherDecay]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPOtherDecay]->Fill(photonE ) ;
-              fhPtPrimMC [mcPOtherDecay]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPOtherDecay]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPOtherDecay]->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPOtherDecay]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPOtherDecay]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPOtherDecay]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPOtherDecay]->Fill(photonE , photonEta) ;
             } 
             if(inacceptance){
-              fhEPrimMCAcc[mcPOtherDecay]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPOtherDecay] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPOtherDecay]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPOtherDecay]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPOtherDecay]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPOtherDecay] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPOtherDecay]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPOtherDecay]  ->Fill(photonE , photonY) ;
             }//Accepted
           }
-          else if(fhEPrimMC[mcPOther])
+          else if(fhEPrimMC[kmcPOther])
           {
-            fhYPrimMC[mcPOther]->Fill(photonPt, photonY) ;
+            fhYPrimMC[kmcPOther]->Fill(photonPt, photonY) ;
             if(TMath::Abs(photonY) < 1.0){
-              fhEPrimMC  [mcPOther]->Fill(photonE ) ;
-              fhPtPrimMC [mcPOther]->Fill(photonPt) ;
-              fhPhiPrimMC[mcPOther]->Fill(photonE , photonPhi) ;
-              fhYPrimMC[mcPOther]->Fill(photonE , photonEta) ;
+              fhEPrimMC  [kmcPOther]->Fill(photonE ) ;
+              fhPtPrimMC [kmcPOther]->Fill(photonPt) ;
+              fhPhiPrimMC[kmcPOther]->Fill(photonE , photonPhi) ;
+              fhYPrimMC[kmcPOther]->Fill(photonE , photonEta) ;
             }
             if(inacceptance){
-              fhEPrimMCAcc[mcPOther]  ->Fill(photonE ) ;
-              fhPtPrimMCAcc[mcPOther] ->Fill(photonPt) ;
-              fhPhiPrimMCAcc[mcPOther]->Fill(photonE , photonPhi) ;
-              fhYPrimMCAcc[mcPOther]  ->Fill(photonE , photonY) ;
+              fhEPrimMCAcc[kmcPOther]  ->Fill(photonE ) ;
+              fhPtPrimMCAcc[kmcPOther] ->Fill(photonPt) ;
+              fhPhiPrimMCAcc[kmcPOther]->Fill(photonE , photonPhi) ;
+              fhYPrimMCAcc[kmcPOther]  ->Fill(photonE , photonY) ;
             }//Accepted
           }//Other origin
         }// Primary photon 
       }//loop on primaries     
       
-    }//mc array exists and data is MC
+    }//kmc array exists and data is MC
   }    // read AOD MC
 }
 
@@ -698,23 +701,23 @@ void  AliAnaPhoton::FillShowerShapeHistograms(AliVCluster* cluster, const Int_t
        !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion) &&
        !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0) &&
        !GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEta)){
-      fhMCELambda0[mcssPhoton]    ->Fill(energy, lambda0);
-      fhMCELambda1[mcssPhoton]    ->Fill(energy, lambda1);
-      fhMCEDispersion[mcssPhoton] ->Fill(energy, disp);
-      fhMCNCellsE[mcssPhoton]     ->Fill(energy, ncells);
-      fhMCMaxCellDiffClusterE[mcssPhoton]->Fill(energy,maxCellFraction);
+      fhMCELambda0[kmcssPhoton]    ->Fill(energy, lambda0);
+      fhMCELambda1[kmcssPhoton]    ->Fill(energy, lambda1);
+      fhMCEDispersion[kmcssPhoton] ->Fill(energy, disp);
+      fhMCNCellsE[kmcssPhoton]     ->Fill(energy, ncells);
+      fhMCMaxCellDiffClusterE[kmcssPhoton]->Fill(energy,maxCellFraction);
       
       if     (energy < 2.){
-        fhMCLambda0vsClusterMaxCellDiffE0[mcssPhoton]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE0[mcssPhoton] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE0[kmcssPhoton]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE0[kmcssPhoton] ->Fill(ncells,  maxCellFraction);
       }
       else if(energy < 6.){
-        fhMCLambda0vsClusterMaxCellDiffE2[mcssPhoton]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE2[mcssPhoton] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE2[kmcssPhoton]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE2[kmcssPhoton] ->Fill(ncells,  maxCellFraction);
       }
       else{
-        fhMCLambda0vsClusterMaxCellDiffE6[mcssPhoton]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE6[mcssPhoton] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE6[kmcssPhoton]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE6[kmcssPhoton] ->Fill(ncells,  maxCellFraction);
       }
       
       if(!GetReader()->IsEmbeddedClusterSelectionOn()){
@@ -767,65 +770,65 @@ void  AliAnaPhoton::FillShowerShapeHistograms(AliVCluster* cluster, const Int_t
       
     }//photon   no conversion
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron)){
-      fhMCELambda0[mcssElectron]    ->Fill(energy, lambda0);
-      fhMCELambda1[mcssElectron]    ->Fill(energy, lambda1);
-      fhMCEDispersion[mcssElectron] ->Fill(energy, disp);
-      fhMCNCellsE[mcssElectron]     ->Fill(energy, ncells);
-      fhMCMaxCellDiffClusterE[mcssElectron]->Fill(energy,maxCellFraction);
+      fhMCELambda0[kmcssElectron]    ->Fill(energy, lambda0);
+      fhMCELambda1[kmcssElectron]    ->Fill(energy, lambda1);
+      fhMCEDispersion[kmcssElectron] ->Fill(energy, disp);
+      fhMCNCellsE[kmcssElectron]     ->Fill(energy, ncells);
+      fhMCMaxCellDiffClusterE[kmcssElectron]->Fill(energy,maxCellFraction);
 
       if     (energy < 2.){
-        fhMCLambda0vsClusterMaxCellDiffE0[mcssElectron]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE0[mcssElectron] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE0[kmcssElectron]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE0[kmcssElectron] ->Fill(ncells,  maxCellFraction);
       }
       else if(energy < 6.){
-        fhMCLambda0vsClusterMaxCellDiffE2[mcssElectron]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE2[mcssElectron] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE2[kmcssElectron]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE2[kmcssElectron] ->Fill(ncells,  maxCellFraction);
       }
       else{
-        fhMCLambda0vsClusterMaxCellDiffE6[mcssElectron]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE6[mcssElectron] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE6[kmcssElectron]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE6[kmcssElectron] ->Fill(ncells,  maxCellFraction);
       }
     }//electron
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPhoton) && 
               GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion) ){
-      fhMCELambda0[mcssConversion]    ->Fill(energy, lambda0);
-      fhMCELambda1[mcssConversion]    ->Fill(energy, lambda1);
-      fhMCEDispersion[mcssConversion] ->Fill(energy, disp);
-      fhMCNCellsE[mcssConversion]     ->Fill(energy, ncells);
-      fhMCMaxCellDiffClusterE[mcssConversion]->Fill(energy,maxCellFraction);
+      fhMCELambda0[kmcssConversion]    ->Fill(energy, lambda0);
+      fhMCELambda1[kmcssConversion]    ->Fill(energy, lambda1);
+      fhMCEDispersion[kmcssConversion] ->Fill(energy, disp);
+      fhMCNCellsE[kmcssConversion]     ->Fill(energy, ncells);
+      fhMCMaxCellDiffClusterE[kmcssConversion]->Fill(energy,maxCellFraction);
 
       if     (energy < 2.){
-        fhMCLambda0vsClusterMaxCellDiffE0[mcssConversion]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE0[mcssConversion] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE0[kmcssConversion]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE0[kmcssConversion] ->Fill(ncells,  maxCellFraction);
       }
       else if(energy < 6.){
-        fhMCLambda0vsClusterMaxCellDiffE2[mcssConversion]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE2[mcssConversion] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE2[kmcssConversion]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE2[kmcssConversion] ->Fill(ncells,  maxCellFraction);
       }
       else{
-        fhMCLambda0vsClusterMaxCellDiffE6[mcssConversion]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE6[mcssConversion] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE6[kmcssConversion]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE6[kmcssConversion] ->Fill(ncells,  maxCellFraction);
       }      
       
     }//conversion photon
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0)  ){
-      fhMCELambda0[mcssPi0]    ->Fill(energy, lambda0);
-      fhMCELambda1[mcssPi0]    ->Fill(energy, lambda1);
-      fhMCEDispersion[mcssPi0] ->Fill(energy, disp);
-      fhMCNCellsE[mcssPi0]     ->Fill(energy, ncells);
-      fhMCMaxCellDiffClusterE[mcssPi0]->Fill(energy,maxCellFraction);
+      fhMCELambda0[kmcssPi0]    ->Fill(energy, lambda0);
+      fhMCELambda1[kmcssPi0]    ->Fill(energy, lambda1);
+      fhMCEDispersion[kmcssPi0] ->Fill(energy, disp);
+      fhMCNCellsE[kmcssPi0]     ->Fill(energy, ncells);
+      fhMCMaxCellDiffClusterE[kmcssPi0]->Fill(energy,maxCellFraction);
 
       if     (energy < 2.){
-        fhMCLambda0vsClusterMaxCellDiffE0[mcssPi0]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE0[mcssPi0] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE0[kmcssPi0]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE0[kmcssPi0] ->Fill(ncells,  maxCellFraction);
       }
       else if(energy < 6.){
-        fhMCLambda0vsClusterMaxCellDiffE2[mcssPi0]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE2[mcssPi0] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE2[kmcssPi0]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE2[kmcssPi0] ->Fill(ncells,  maxCellFraction);
       }
       else{
-        fhMCLambda0vsClusterMaxCellDiffE6[mcssPi0]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE6[mcssPi0] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE6[kmcssPi0]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE6[kmcssPi0] ->Fill(ncells,  maxCellFraction);
       }      
       
       //Fill histograms to check shape of embedded clusters
@@ -851,44 +854,44 @@ void  AliAnaPhoton::FillShowerShapeHistograms(AliVCluster* cluster, const Int_t
       
     }//pi0
     else if  ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEta)  ){
-      fhMCELambda0[mcssEta]    ->Fill(energy, lambda0);
-      fhMCELambda1[mcssEta]    ->Fill(energy, lambda1);
-      fhMCEDispersion[mcssEta] ->Fill(energy, disp);
-      fhMCNCellsE[mcssEta]     ->Fill(energy, ncells);
-      fhMCMaxCellDiffClusterE[mcssEta]->Fill(energy,maxCellFraction);
+      fhMCELambda0[kmcssEta]    ->Fill(energy, lambda0);
+      fhMCELambda1[kmcssEta]    ->Fill(energy, lambda1);
+      fhMCEDispersion[kmcssEta] ->Fill(energy, disp);
+      fhMCNCellsE[kmcssEta]     ->Fill(energy, ncells);
+      fhMCMaxCellDiffClusterE[kmcssEta]->Fill(energy,maxCellFraction);
 
       if     (energy < 2.){
-        fhMCLambda0vsClusterMaxCellDiffE0[mcssEta]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE0[mcssEta] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE0[kmcssEta]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE0[kmcssEta] ->Fill(ncells,  maxCellFraction);
       }
       else if(energy < 6.){
-        fhMCLambda0vsClusterMaxCellDiffE2[mcssEta]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE2[mcssEta] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE2[kmcssEta]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE2[kmcssEta] ->Fill(ncells,  maxCellFraction);
       }
       else{
-        fhMCLambda0vsClusterMaxCellDiffE6[mcssEta]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE6[mcssEta] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE6[kmcssEta]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE6[kmcssEta] ->Fill(ncells,  maxCellFraction);
       }
       
     }//eta    
     else {
-      fhMCELambda0[mcssOther]    ->Fill(energy, lambda0);
-      fhMCELambda1[mcssOther]    ->Fill(energy, lambda1);
-      fhMCEDispersion[mcssOther] ->Fill(energy, disp);
-      fhMCNCellsE[mcssOther]     ->Fill(energy, ncells);
-      fhMCMaxCellDiffClusterE[mcssOther]->Fill(energy,maxCellFraction);
+      fhMCELambda0[kmcssOther]    ->Fill(energy, lambda0);
+      fhMCELambda1[kmcssOther]    ->Fill(energy, lambda1);
+      fhMCEDispersion[kmcssOther] ->Fill(energy, disp);
+      fhMCNCellsE[kmcssOther]     ->Fill(energy, ncells);
+      fhMCMaxCellDiffClusterE[kmcssOther]->Fill(energy,maxCellFraction);
 
       if     (energy < 2.){
-        fhMCLambda0vsClusterMaxCellDiffE0[mcssOther]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE0[mcssOther] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE0[kmcssOther]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE0[kmcssOther] ->Fill(ncells,  maxCellFraction);
       }
       else if(energy < 6.){
-        fhMCLambda0vsClusterMaxCellDiffE2[mcssOther]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE2[mcssOther] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE2[kmcssOther]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE2[kmcssOther] ->Fill(ncells,  maxCellFraction);
       }
       else{
-        fhMCLambda0vsClusterMaxCellDiffE6[mcssOther]->Fill(lambda0, maxCellFraction);
-        fhMCNCellsvsClusterMaxCellDiffE6[mcssOther] ->Fill(ncells,  maxCellFraction);
+        fhMCLambda0vsClusterMaxCellDiffE6[kmcssOther]->Fill(lambda0, maxCellFraction);
+        fhMCNCellsvsClusterMaxCellDiffE6[kmcssOther] ->Fill(ncells,  maxCellFraction);
       }            
       
     }//other particles 
@@ -1772,172 +1775,172 @@ void  AliAnaPhoton::MakeAnalysisFillHistograms()
       
       Int_t tag =ph->GetTag();
       
-      if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && fhMCE[mcPhoton])
+      if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) && fhMCE[kmcPhoton])
       {
-        fhMCE  [mcPhoton] ->Fill(ecluster);
-        fhMCPt [mcPhoton] ->Fill(ptcluster);
-        fhMCPhi[mcPhoton] ->Fill(ecluster,phicluster);
-        fhMCEta[mcPhoton] ->Fill(ecluster,etacluster);
+        fhMCE  [kmcPhoton] ->Fill(ecluster);
+        fhMCPt [kmcPhoton] ->Fill(ptcluster);
+        fhMCPhi[kmcPhoton] ->Fill(ecluster,phicluster);
+        fhMCEta[kmcPhoton] ->Fill(ecluster,etacluster);
         
-        fhMC2E[mcPhoton]     ->Fill(ecluster, eprim);
-        fhMC2Pt[mcPhoton]    ->Fill(ptcluster, ptprim);     
-        fhMCDeltaE[mcPhoton] ->Fill(ecluster,eprim-ecluster);
-        fhMCDeltaPt[mcPhoton]->Fill(ptcluster,ptprim-ptcluster);     
+        fhMC2E[kmcPhoton]     ->Fill(ecluster, eprim);
+        fhMC2Pt[kmcPhoton]    ->Fill(ptcluster, ptprim);     
+        fhMCDeltaE[kmcPhoton] ->Fill(ecluster,eprim-ecluster);
+        fhMCDeltaPt[kmcPhoton]->Fill(ptcluster,ptprim-ptcluster);     
         
-        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) && fhMCE[mcConversion])
+        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) && fhMCE[kmcConversion])
         {
-          fhMCE  [mcConversion] ->Fill(ecluster);
-          fhMCPt [mcConversion] ->Fill(ptcluster);
-          fhMCPhi[mcConversion] ->Fill(ecluster,phicluster);
-          fhMCEta[mcConversion] ->Fill(ecluster,etacluster);
+          fhMCE  [kmcConversion] ->Fill(ecluster);
+          fhMCPt [kmcConversion] ->Fill(ptcluster);
+          fhMCPhi[kmcConversion] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcConversion] ->Fill(ecluster,etacluster);
           
-          fhMC2E[mcConversion]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcConversion]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcConversion] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcConversion]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcConversion]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcConversion]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcConversion] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcConversion]->Fill(ptcluster,ptprim-ptcluster);     
         }                      
         
-        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt) && fhMCE[mcPrompt]){
-          fhMCE  [mcPrompt] ->Fill(ecluster);
-          fhMCPt [mcPrompt] ->Fill(ptcluster);
-          fhMCPhi[mcPrompt] ->Fill(ecluster,phicluster);
-          fhMCEta[mcPrompt] ->Fill(ecluster,etacluster);      
+        if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt) && fhMCE[kmcPrompt]){
+          fhMCE  [kmcPrompt] ->Fill(ecluster);
+          fhMCPt [kmcPrompt] ->Fill(ptcluster);
+          fhMCPhi[kmcPrompt] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcPrompt] ->Fill(ecluster,etacluster);      
           
-          fhMC2E[mcPrompt]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcPrompt]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcPrompt] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcPrompt]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcPrompt]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcPrompt]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcPrompt] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcPrompt]->Fill(ptcluster,ptprim-ptcluster);     
           
         }
-        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)&& fhMCE[mcFragmentation])
+        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)&& fhMCE[kmcFragmentation])
         {
-          fhMCE  [mcFragmentation] ->Fill(ecluster);
-          fhMCPt [mcFragmentation] ->Fill(ptcluster);
-          fhMCPhi[mcFragmentation] ->Fill(ecluster,phicluster);
-          fhMCEta[mcFragmentation] ->Fill(ecluster,etacluster);
+          fhMCE  [kmcFragmentation] ->Fill(ecluster);
+          fhMCPt [kmcFragmentation] ->Fill(ptcluster);
+          fhMCPhi[kmcFragmentation] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcFragmentation] ->Fill(ecluster,etacluster);
           
-          fhMC2E[mcFragmentation]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcFragmentation]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcFragmentation] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcFragmentation]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcFragmentation]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcFragmentation]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcFragmentation] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcFragmentation]->Fill(ptcluster,ptprim-ptcluster);     
           
         }
-        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCISR)&& fhMCE[mcISR])
+        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCISR)&& fhMCE[kmcISR])
         {
-          fhMCE  [mcISR] ->Fill(ecluster);
-          fhMCPt [mcISR] ->Fill(ptcluster);
-          fhMCPhi[mcISR] ->Fill(ecluster,phicluster);
-          fhMCEta[mcISR] ->Fill(ecluster,etacluster);    
+          fhMCE  [kmcISR] ->Fill(ecluster);
+          fhMCPt [kmcISR] ->Fill(ptcluster);
+          fhMCPhi[kmcISR] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcISR] ->Fill(ecluster,etacluster);    
           
-          fhMC2E[mcISR]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcISR]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcISR] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcISR]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcISR]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcISR]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcISR] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcISR]->Fill(ptcluster,ptprim-ptcluster);     
           
         }
         else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay) && 
-                !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE[mcPi0Decay])
+                !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE[kmcPi0Decay])
         {
-          fhMCE  [mcPi0Decay] ->Fill(ecluster);
-          fhMCPt [mcPi0Decay] ->Fill(ptcluster);
-          fhMCPhi[mcPi0Decay] ->Fill(ecluster,phicluster);
-          fhMCEta[mcPi0Decay] ->Fill(ecluster,etacluster);
+          fhMCE  [kmcPi0Decay] ->Fill(ecluster);
+          fhMCPt [kmcPi0Decay] ->Fill(ptcluster);
+          fhMCPhi[kmcPi0Decay] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcPi0Decay] ->Fill(ecluster,etacluster);
           
-          fhMC2E[mcPi0Decay]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcPi0Decay]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcPi0Decay] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcPi0Decay]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcPi0Decay]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcPi0Decay]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcPi0Decay] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcPi0Decay]->Fill(ptcluster,ptprim-ptcluster);     
           
         }
         else if( (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) || 
-                  GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[mcOtherDecay])
+                  GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[kmcOtherDecay])
         {
-          fhMCE  [mcOtherDecay] ->Fill(ecluster);
-          fhMCPt [mcOtherDecay] ->Fill(ptcluster);
-          fhMCPhi[mcOtherDecay] ->Fill(ecluster,phicluster);
-          fhMCEta[mcOtherDecay] ->Fill(ecluster,etacluster);
+          fhMCE  [kmcOtherDecay] ->Fill(ecluster);
+          fhMCPt [kmcOtherDecay] ->Fill(ptcluster);
+          fhMCPhi[kmcOtherDecay] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcOtherDecay] ->Fill(ecluster,etacluster);
           
-          fhMC2E[mcOtherDecay]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcOtherDecay]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcOtherDecay] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcOtherDecay]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcOtherDecay]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcOtherDecay]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcOtherDecay] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcOtherDecay]->Fill(ptcluster,ptprim-ptcluster);     
           
         }
-        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE  [mcPi0])
+        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0) && fhMCE  [kmcPi0])
         {
-          fhMCE  [mcPi0] ->Fill(ecluster);
-          fhMCPt [mcPi0] ->Fill(ptcluster);
-          fhMCPhi[mcPi0] ->Fill(ecluster,phicluster);
-          fhMCEta[mcPi0] ->Fill(ecluster,etacluster);
+          fhMCE  [kmcPi0] ->Fill(ecluster);
+          fhMCPt [kmcPi0] ->Fill(ptcluster);
+          fhMCPhi[kmcPi0] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcPi0] ->Fill(ecluster,etacluster);
           
-          fhMC2E[mcPi0]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcPi0]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcPi0] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcPi0]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcPi0]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcPi0]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcPi0] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcPi0]->Fill(ptcluster,ptprim-ptcluster);     
           
         } 
-        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta) && fhMCE[mcEta])
+        else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta) && fhMCE[kmcEta])
         {
-          fhMCE  [mcEta] ->Fill(ecluster);
-          fhMCPt [mcEta] ->Fill(ptcluster);
-          fhMCPhi[mcEta] ->Fill(ecluster,phicluster);
-          fhMCEta[mcEta] ->Fill(ecluster,etacluster);
+          fhMCE  [kmcEta] ->Fill(ecluster);
+          fhMCPt [kmcEta] ->Fill(ptcluster);
+          fhMCPhi[kmcEta] ->Fill(ecluster,phicluster);
+          fhMCEta[kmcEta] ->Fill(ecluster,etacluster);
           
-          fhMC2E[mcEta]     ->Fill(ecluster, eprim);
-          fhMC2Pt[mcEta]    ->Fill(ptcluster, ptprim);     
-          fhMCDeltaE[mcEta] ->Fill(ecluster,eprim-ecluster);
-          fhMCDeltaPt[mcEta]->Fill(ptcluster,ptprim-ptcluster);     
+          fhMC2E[kmcEta]     ->Fill(ecluster, eprim);
+          fhMC2Pt[kmcEta]    ->Fill(ptcluster, ptprim);     
+          fhMCDeltaE[kmcEta] ->Fill(ecluster,eprim-ecluster);
+          fhMCDeltaPt[kmcEta]->Fill(ptcluster,ptprim-ptcluster);     
           
         }      
       }
-      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron) && fhMCE[mcAntiNeutron])
+      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiNeutron) && fhMCE[kmcAntiNeutron])
       {
-        fhMCE  [mcAntiNeutron] ->Fill(ecluster);
-        fhMCPt [mcAntiNeutron] ->Fill(ptcluster);
-        fhMCPhi[mcAntiNeutron] ->Fill(ecluster,phicluster);
-        fhMCEta[mcAntiNeutron] ->Fill(ecluster,etacluster);
+        fhMCE  [kmcAntiNeutron] ->Fill(ecluster);
+        fhMCPt [kmcAntiNeutron] ->Fill(ptcluster);
+        fhMCPhi[kmcAntiNeutron] ->Fill(ecluster,phicluster);
+        fhMCEta[kmcAntiNeutron] ->Fill(ecluster,etacluster);
         
-        fhMC2E[mcAntiNeutron]     ->Fill(ecluster, eprim);
-        fhMC2Pt[mcAntiNeutron]    ->Fill(ptcluster, ptprim);     
-        fhMCDeltaE[mcAntiNeutron] ->Fill(ecluster,eprim-ecluster);
-        fhMCDeltaPt[mcAntiNeutron]->Fill(ptcluster,ptprim-ptcluster);     
+        fhMC2E[kmcAntiNeutron]     ->Fill(ecluster, eprim);
+        fhMC2Pt[kmcAntiNeutron]    ->Fill(ptcluster, ptprim);     
+        fhMCDeltaE[kmcAntiNeutron] ->Fill(ecluster,eprim-ecluster);
+        fhMCDeltaPt[kmcAntiNeutron]->Fill(ptcluster,ptprim-ptcluster);     
         
       }
-      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton) && fhMCE[mcAntiProton])
+      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCAntiProton) && fhMCE[kmcAntiProton])
       {
-        fhMCE  [mcAntiProton] ->Fill(ecluster);
-        fhMCPt [mcAntiProton] ->Fill(ptcluster);
-        fhMCPhi[mcAntiProton] ->Fill(ecluster,phicluster);
-        fhMCEta[mcAntiProton] ->Fill(ecluster,etacluster);
+        fhMCE  [kmcAntiProton] ->Fill(ecluster);
+        fhMCPt [kmcAntiProton] ->Fill(ptcluster);
+        fhMCPhi[kmcAntiProton] ->Fill(ecluster,phicluster);
+        fhMCEta[kmcAntiProton] ->Fill(ecluster,etacluster);
         
-        fhMC2E[mcAntiProton]     ->Fill(ecluster, eprim);
-        fhMC2Pt[mcAntiProton]    ->Fill(ptcluster, ptprim);     
-        fhMCDeltaE[mcAntiProton] ->Fill(ecluster,eprim-ecluster);
-        fhMCDeltaPt[mcAntiProton]->Fill(ecluster,ptprim-ptcluster);     
+        fhMC2E[kmcAntiProton]     ->Fill(ecluster, eprim);
+        fhMC2Pt[kmcAntiProton]    ->Fill(ptcluster, ptprim);     
+        fhMCDeltaE[kmcAntiProton] ->Fill(ecluster,eprim-ecluster);
+        fhMCDeltaPt[kmcAntiProton]->Fill(ecluster,ptprim-ptcluster);     
         
       } 
-      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron) && fhMCE[mcElectron])
+      else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron) && fhMCE[kmcElectron])
       {
-        fhMCE  [mcElectron] ->Fill(ecluster);
-        fhMCPt [mcElectron] ->Fill(ptcluster);
-        fhMCPhi[mcElectron] ->Fill(ecluster,phicluster);
-        fhMCEta[mcElectron] ->Fill(ecluster,etacluster);
+        fhMCE  [kmcElectron] ->Fill(ecluster);
+        fhMCPt [kmcElectron] ->Fill(ptcluster);
+        fhMCPhi[kmcElectron] ->Fill(ecluster,phicluster);
+        fhMCEta[kmcElectron] ->Fill(ecluster,etacluster);
         
-        fhMC2E[mcElectron]     ->Fill(ecluster, eprim);
-        fhMC2Pt[mcElectron]    ->Fill(ptcluster, ptprim);     
-        fhMCDeltaE[mcElectron] ->Fill(ecluster,eprim-ecluster);
-        fhMCDeltaPt[mcElectron]->Fill(ecluster,ptprim-ptcluster);             
+        fhMC2E[kmcElectron]     ->Fill(ecluster, eprim);
+        fhMC2Pt[kmcElectron]    ->Fill(ptcluster, ptprim);     
+        fhMCDeltaE[kmcElectron] ->Fill(ecluster,eprim-ecluster);
+        fhMCDeltaPt[kmcElectron]->Fill(ecluster,ptprim-ptcluster);             
       }     
-      else if( fhMCE[mcOther]){
-        fhMCE  [mcOther] ->Fill(ecluster);
-        fhMCPt [mcOther] ->Fill(ptcluster);
-        fhMCPhi[mcOther] ->Fill(ecluster,phicluster);
-        fhMCEta[mcOther] ->Fill(ecluster,etacluster);
+      else if( fhMCE[kmcOther]){
+        fhMCE  [kmcOther] ->Fill(ecluster);
+        fhMCPt [kmcOther] ->Fill(ptcluster);
+        fhMCPhi[kmcOther] ->Fill(ecluster,phicluster);
+        fhMCEta[kmcOther] ->Fill(ecluster,etacluster);
         
-        fhMC2E[mcOther]     ->Fill(ecluster, eprim);
-        fhMC2Pt[mcOther]    ->Fill(ptcluster, ptprim);     
-        fhMCDeltaE[mcOther] ->Fill(ecluster,eprim-ecluster);
-        fhMCDeltaPt[mcOther]->Fill(ecluster,ptprim-ptcluster);     
+        fhMC2E[kmcOther]     ->Fill(ecluster, eprim);
+        fhMC2Pt[kmcOther]    ->Fill(ptcluster, ptprim);     
+        fhMCDeltaE[kmcOther] ->Fill(ecluster,eprim-ecluster);
+        fhMCDeltaPt[kmcOther]->Fill(ecluster,ptprim-ptcluster);     
         
         //              printf(" AliAnaPhoton::MakeAnalysisFillHistograms() - Label %d, pT %2.3f Unknown, bits set: ",
         //                                     ph->GetLabel(),ph->Pt());
index df288a1a15d2da7fd362bff624e9aa5e1d836e53..d1b24a61e67a535bbaa581c8b3cfd86d76a3fb89 100755 (executable)
@@ -30,11 +30,6 @@ class AliAnaPhoton : public AliAnaPartCorrBaseClass {
  public: 
   AliAnaPhoton() ;              // default ctor
   virtual ~AliAnaPhoton() { ; } // virtual dtor
- private:
-  AliAnaPhoton(const AliAnaPhoton & g) ;               // cpy ctor
-  AliAnaPhoton & operator = (const AliAnaPhoton & g) ; // cpy assignment
-
- public:
        
   //---------------------------------------
   // General analysis frame methods
@@ -95,17 +90,17 @@ class AliAnaPhoton : public AliAnaPartCorrBaseClass {
     if(n > 7)  fNPrimaryHistograms = 7; }
 
   // For histograms in arrays, index in the array, corresponding to a particle
-  enum mcTypes    { mcPhoton = 0,        mcPi0Decay = 1,       mcOtherDecay = 2,  
-                    mcPi0 = 3,           mcEta = 4,            mcElectron = 5,       
-                    mcConversion = 6,    mcOther = 7,          mcAntiNeutron = 8,    
-                    mcAntiProton = 9,    mcPrompt = 10,        mcFragmentation = 11, 
-                    mcISR = 12,          mcString = 13                               };  
+  enum mcTypes    { kmcPhoton = 0,        kmcPi0Decay = 1,       kmcOtherDecay = 2,  
+                    kmcPi0 = 3,           kmcEta = 4,            kmcElectron = 5,       
+                    kmcConversion = 6,    kmcOther = 7,          kmcAntiNeutron = 8,    
+                    kmcAntiProton = 9,    kmcPrompt = 10,        kmcFragmentation = 11, 
+                    kmcISR = 12,          kmcString = 13                               };  
 
-  enum mcPTypes   { mcPPhoton = 0,       mcPPi0Decay = 1,       mcPOtherDecay = 2,  mcPOther = 3,
-                    mcPPrompt = 4,       mcPFragmentation = 5,  mcPISR = 6           };  
+  enum mcPTypes   { kmcPPhoton = 0,       kmcPPi0Decay = 1,       kmcPOtherDecay = 2,  kmcPOther = 3,
+                    kmcPPrompt = 4,       kmcPFragmentation = 5,  kmcPISR = 6           };  
   
-  enum mcssTypes  { mcssPhoton = 0,      mcssOther = 1,       mcssPi0 = 2,         
-                    mcssEta = 3,         mcssConversion = 4,  mcssElectron = 5       };  
+  enum mcssTypes  { kmcssPhoton = 0,      kmcssOther = 1,       kmcssPi0 = 2,         
+                    kmcssEta = 3,         kmcssConversion = 4,  kmcssElectron = 5       };  
   
   private:
  
@@ -215,7 +210,10 @@ class AliAnaPhoton : public AliAnaPartCorrBaseClass {
   TH2F * fhEmbedPi0ELambda0MostlyBkg ;          //!  Lambda0 vs E for embedded photons with 50%<fraction<10% 
   TH2F * fhEmbedPi0ELambda0FullBkg ;            //!  Lambda0 vs E for embedded photons with less than 10% of the cluster energy
   
-   ClassDef(AliAnaPhoton,19)
+  AliAnaPhoton(const AliAnaPhoton & g) ;               // cpy ctor
+  AliAnaPhoton & operator = (const AliAnaPhoton & g) ; // cpy assignment
+  
+  ClassDef(AliAnaPhoton,19)
 
 } ;
  
index 8dc2d22e67c56977aeadf99091019fb69a801499..dbc6e44c294f5d4eba113289f8f5520f69554011 100755 (executable)
 #include "AliMixedEvent.h"
 #include "AliAODMCParticle.h"
 
+// --- Detectors --- 
+#include "AliPHOSGeoUtils.h"
+#include "AliEMCALGeometry.h"
+
 ClassImp(AliAnaPi0)
 
 //________________________________________________________________________________________________________________________________________________  
@@ -109,7 +113,6 @@ AliAnaPi0::~AliAnaPi0() {
       }
     }
     delete[] fEventsList; 
-    fEventsList=0 ;
   }
        
 }
index 33ac1f476d47904ed45d9d637781afcff7f90d3b..c44f5f225e0155f3b85cd049fbf9695701d85af1 100755 (executable)
@@ -31,12 +31,7 @@ class AliAnaPi0 : public AliAnaPartCorrBaseClass {
  public:   
   AliAnaPi0() ; // default ctor
   virtual ~AliAnaPi0() ;//virtual dtor
- private:
-  AliAnaPi0(const AliAnaPi0 & g) ; // cpy ctor
-  AliAnaPi0 & operator = (const AliAnaPi0 & api0) ;//cpy assignment
   
- public:
-
   //-------------------------------
   // General analysis frame methods
   //-------------------------------
@@ -298,7 +293,8 @@ class AliAnaPi0 : public AliAnaPartCorrBaseClass {
   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
   
   ClassDef(AliAnaPi0,21)
 } ;
index b9221ea9327e74f1003f37ba5b25cc0c55114f6c..e8c3c2e435a17cd467c2d1ce967400d627511645 100755 (executable)
@@ -130,67 +130,67 @@ void AliAnaPi0EbE::FillSelectedClusterHistograms(AliVCluster* cluster, const Int
   if(IsDataMC()) {
     //Photon1
     if  ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0)  ){
-      fhEMCLambda0[mcPi0]    ->Fill(e, l0);
-      fhEMCLambda1[mcPi0]    ->Fill(e, l1);
-      fhEMCDispersion[mcPi0] ->Fill(e, disp);
+      fhEMCLambda0[kmcPi0]    ->Fill(e, l0);
+      fhEMCLambda1[kmcPi0]    ->Fill(e, l1);
+      fhEMCDispersion[kmcPi0] ->Fill(e, disp);
       
-      fhEMCFracMaxCell[mcPi0]->Fill(e,maxCellFraction);  
+      fhEMCFracMaxCell[kmcPi0]->Fill(e,maxCellFraction);  
       if(fCalorimeter=="EMCAL" && nSM < 6) 
-        fhEMCLambda0NoTRD[mcPi0]->Fill(e, l0  );
+        fhEMCLambda0NoTRD[kmcPi0]->Fill(e, l0  );
       if(maxCellFraction < 0.5) 
-        fhEMCLambda0FracMaxCellCut[mcPi0]->Fill(e, l0  );  
+        fhEMCLambda0FracMaxCellCut[kmcPi0]->Fill(e, l0  );  
       
     }//pi0
     else if  ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta)  ){
-      fhEMCLambda0[mcEta]    ->Fill(e, l0);
-      fhEMCLambda1[mcEta]    ->Fill(e, l1);
-      fhEMCDispersion[mcEta] ->Fill(e, disp);
-      fhEMCFracMaxCell[mcEta]->Fill(e,maxCellFraction);  
+      fhEMCLambda0[kmcEta]    ->Fill(e, l0);
+      fhEMCLambda1[kmcEta]    ->Fill(e, l1);
+      fhEMCDispersion[kmcEta] ->Fill(e, disp);
+      fhEMCFracMaxCell[kmcEta]->Fill(e,maxCellFraction);  
       if(fCalorimeter=="EMCAL" && nSM < 6) 
-        fhEMCLambda0NoTRD[mcEta]->Fill(e, l0  );
+        fhEMCLambda0NoTRD[kmcEta]->Fill(e, l0  );
       if(maxCellFraction < 0.5) 
-        fhEMCLambda0FracMaxCellCut[mcEta]->Fill(e, l0  );  
+        fhEMCLambda0FracMaxCellCut[kmcEta]->Fill(e, l0  );  
     }//eta          
     else if  ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) &&
               GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) ){
-      fhEMCLambda0[mcConversion]    ->Fill(e, l0);
-      fhEMCLambda1[mcConversion]    ->Fill(e, l1);
-      fhEMCDispersion[mcConversion] ->Fill(e, disp);
-      fhEMCFracMaxCell[mcConversion]->Fill(e,maxCellFraction);  
+      fhEMCLambda0[kmcConversion]    ->Fill(e, l0);
+      fhEMCLambda1[kmcConversion]    ->Fill(e, l1);
+      fhEMCDispersion[kmcConversion] ->Fill(e, disp);
+      fhEMCFracMaxCell[kmcConversion]->Fill(e,maxCellFraction);  
       if(fCalorimeter=="EMCAL" && nSM < 6) 
-        fhEMCLambda0NoTRD[mcConversion]->Fill(e, l0  );
+        fhEMCLambda0NoTRD[kmcConversion]->Fill(e, l0  );
       if(maxCellFraction < 0.5) 
-        fhEMCLambda0FracMaxCellCut[mcConversion]->Fill(e, l0  );  
+        fhEMCLambda0FracMaxCellCut[kmcConversion]->Fill(e, l0  );  
     }//conversion photon
     else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) ){
-      fhEMCLambda0[mcPhoton]    ->Fill(e, l0);
-      fhEMCLambda1[mcPhoton]    ->Fill(e, l1);
-      fhEMCDispersion[mcPhoton] ->Fill(e, disp);
-      fhEMCFracMaxCell[mcPhoton]->Fill(e,maxCellFraction);  
+      fhEMCLambda0[kmcPhoton]    ->Fill(e, l0);
+      fhEMCLambda1[kmcPhoton]    ->Fill(e, l1);
+      fhEMCDispersion[kmcPhoton] ->Fill(e, disp);
+      fhEMCFracMaxCell[kmcPhoton]->Fill(e,maxCellFraction);  
       if(fCalorimeter=="EMCAL" && nSM < 6) 
-        fhEMCLambda0NoTRD[mcPhoton]->Fill(e, l0  );
+        fhEMCLambda0NoTRD[kmcPhoton]->Fill(e, l0  );
       if(maxCellFraction < 0.5) 
-        fhEMCLambda0FracMaxCellCut[mcPhoton]->Fill(e, l0  );  
+        fhEMCLambda0FracMaxCellCut[kmcPhoton]->Fill(e, l0  );  
     }//photon   no conversion
     else if  ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron)){
-      fhEMCLambda0[mcElectron]    ->Fill(e, l0);
-      fhEMCLambda1[mcElectron]    ->Fill(e, l1);
-      fhEMCDispersion[mcElectron] ->Fill(e, disp);
-      fhEMCFracMaxCell[mcElectron]->Fill(e,maxCellFraction);  
+      fhEMCLambda0[kmcElectron]    ->Fill(e, l0);
+      fhEMCLambda1[kmcElectron]    ->Fill(e, l1);
+      fhEMCDispersion[kmcElectron] ->Fill(e, disp);
+      fhEMCFracMaxCell[kmcElectron]->Fill(e,maxCellFraction);  
       if(fCalorimeter=="EMCAL" && nSM < 6) 
-        fhEMCLambda0NoTRD[mcElectron]->Fill(e, l0  );
+        fhEMCLambda0NoTRD[kmcElectron]->Fill(e, l0  );
       if(maxCellFraction < 0.5) 
-        fhEMCLambda0FracMaxCellCut[mcElectron]->Fill(e, l0  );  
+        fhEMCLambda0FracMaxCellCut[kmcElectron]->Fill(e, l0  );  
     }//electron
     else {
-      fhEMCLambda0[mcHadron]    ->Fill(e, l0);
-      fhEMCLambda1[mcHadron]    ->Fill(e, l1);
-      fhEMCDispersion[mcHadron] ->Fill(e, disp);
-      fhEMCFracMaxCell[mcHadron]->Fill(e,maxCellFraction);  
+      fhEMCLambda0[kmcHadron]    ->Fill(e, l0);
+      fhEMCLambda1[kmcHadron]    ->Fill(e, l1);
+      fhEMCDispersion[kmcHadron] ->Fill(e, disp);
+      fhEMCFracMaxCell[kmcHadron]->Fill(e,maxCellFraction);  
       if(fCalorimeter=="EMCAL" && nSM < 6) 
-        fhEMCLambda0NoTRD[mcHadron]->Fill(e, l0  );
+        fhEMCLambda0NoTRD[kmcHadron]->Fill(e, l0  );
       if(maxCellFraction < 0.5) 
-        fhEMCLambda0FracMaxCellCut[mcHadron]->Fill(e, l0  );  
+        fhEMCLambda0FracMaxCellCut[kmcHadron]->Fill(e, l0  );  
     }//other particles 
   }//MC
 }
index 4965873afeba13c6153ba30461ce9198f1cc78be..7455eab6aa38c7686a34c8454ae80e60cdee37bf 100755 (executable)
@@ -29,14 +29,7 @@ class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {
  public: 
   AliAnaPi0EbE() ; // default ctor
   virtual ~AliAnaPi0EbE() { ; } //virtual dtor
- private:
-  AliAnaPi0EbE(const AliAnaPi0EbE & g) ; // cpy ctor
-  AliAnaPi0EbE & operator = (const AliAnaPi0EbE & g) ;//cpy assignment
-
- public:  
-       
-  //General
-  
+         
   TObjString *   GetAnalysisCuts();
   
   TList      *   GetCreateOutputObjects();
@@ -64,10 +57,7 @@ class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {
   void           MakeShowerShapeIdentification() ;
   
   void           RecalibrateCellAmplitude(Float_t  & amp,  const Int_t absId);
-    
-  void           SwitchOnFillWeightHistograms()              { fFillWeightHistograms = kTRUE  ; }
-  void           SwitchOffFillWeightHistograms()             { fFillWeightHistograms = kFALSE ; }  
-  
+      
   //Setters Getters
   
   //Analysis types
@@ -84,13 +74,16 @@ class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {
   void           SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
                   fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3                               ; }
 
+  void           SwitchOnFillWeightHistograms()              { fFillWeightHistograms = kTRUE  ; }
+  void           SwitchOffFillWeightHistograms()             { fFillWeightHistograms = kFALSE ; }  
+  
   //For histograms
-  enum mcTypes   { mcPhoton = 0, mcConversion = 1, mcPi0    = 2,  
-                   mcEta    = 3, mcElectron   = 4, mcHadron = 5 };
+  enum mcTypes   { kmcPhoton = 0, kmcConversion = 1, kmcPi0    = 2,  
+                   kmcEta    = 3, kmcElectron   = 4, kmcHadron = 5 };
 
  private:
   
-  anaTypes       fAnaType; //Select analysis type
+  anaTypes       fAnaType;                 // Select analysis type
   
   //Only for pi0 SS identification case, kSSCalo
   TString        fCalorimeter ;            // Calorimeter where the gamma is searched;
@@ -142,9 +135,12 @@ class AliAnaPi0EbE : public AliAnaPartCorrBaseClass {
   TH2F         * fhECellClusterLogRatio;   //! log (e cell / e cluster)  vs e cluster for selected photons
   TH2F         * fhEMaxCellClusterRatio;   //! e max cell / e cluster vs e cluster for selected photons
   TH2F         * fhEMaxCellClusterLogRatio;//! log (e max cell / e cluster) vs e cluster for selected photons
-  TH2F         * fhLambda0ForW0[14];        //! L0 for 7 defined w0= 3, 3.5 ... 6 for selected photons
+  TH2F         * fhLambda0ForW0[14];       //! L0 for 7 defined w0= 3, 3.5 ... 6 for selected photons
   //TH2F         * fhLambda1ForW0[7];        //! L1 for 7 defined w0= 3, 3.5 ... 6 for selected photons  
   
+  AliAnaPi0EbE(const AliAnaPi0EbE & g) ;               // cpy ctor
+  AliAnaPi0EbE & operator = (const AliAnaPi0EbE & g) ; // cpy assignment
+  
   ClassDef(AliAnaPi0EbE,10)
 } ;
 
index 259f22f745f2e401db76a62bf601ff9e059a9cee..1093089ff44c11ef0ea72e41a947322491472416 100644 (file)
@@ -31,8 +31,6 @@ class AliAnaShowerParameter : public AliAnaPartCorrBaseClass {
 public: 
 
   AliAnaShowerParameter() ; // default ctor
-  AliAnaShowerParameter(const AliAnaShowerParameter & g) ; // cpy ctor
-  AliAnaShowerParameter & operator = (const AliAnaShowerParameter & g) ;//cpy assignment
   virtual ~AliAnaShowerParameter() ; //virtual dtor
   
   TList *  GetCreateOutputObjects();
@@ -60,25 +58,28 @@ public:
        
   private:
  
-  TString fCalorimeter ; // Calorimeter where the gamma is searched;
-  Float_t fNCellsCutMin ;
-  Float_t fNCellsCutMax ;
-  Float_t fLambdaCut ;
-  Double_t fTimeCutMin  ;    // Remove clusters/cells with time smaller than this value, in ns
-  Double_t fTimeCutMax  ;    // Remove clusters/cells with time larger than this value, in ns
+  TString fCalorimeter ;    // Calorimeter where the gamma is searched;
+  Float_t fNCellsCutMin ;   // N cells cut min
+  Float_t fNCellsCutMax ;   // N cells cut max
+  Float_t fLambdaCut ;      // l0 cut 
+  Double_t fTimeCutMin  ;   // Remove clusters/cells with time smaller than this value, in ns
+  Double_t fTimeCutMax  ;   // Remove clusters/cells with time larger than this value, in ns
 
   //Histograms   
-  TH1F * fhNClusters  ; 
-  TH2F * fhNCellCluster;
-  TH3F * fhEtaPhiPtCluster   ; 
-  TH2F * fhLambdaPtCluster  ; 
+  TH1F * fhNClusters  ;     //! cluster
+  TH2F * fhNCellCluster;    //! cells per cluster
+  TH3F * fhEtaPhiPtCluster; //! eta vs phi vs pt
+  TH2F * fhLambdaPtCluster; //! l0 vs pt
 
   //MC
-  TH2F * fhLambdaPtPhoton ;    
-  TH2F * fhLambdaPtPi0 ;    
-  TH2F * fhLambdaPtPion ; 
-  TH1D * fhPtTruthPi0 ;
+  TH2F * fhLambdaPtPhoton ; //! l0 vs pt mc photon   
+  TH2F * fhLambdaPtPi0 ;    //! l0 vs pt mc pi0 
+  TH2F * fhLambdaPtPion ;   //! l0 vs pt mc pi charged
+  TH1D * fhPtTruthPi0 ;     //! pi0 pt mc
 
+  AliAnaShowerParameter(const AliAnaShowerParameter & g) ;               // cpy ctor
+  AliAnaShowerParameter & operator = (const AliAnaShowerParameter & g) ; // cpy assignment
+  
    ClassDef(AliAnaShowerParameter,1)
 
 } ;