]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.h
add option to fill or not histograms in eta gaps, and momentum imbalance in associate...
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaCalorimeterQA.h
index 0d9504e1b8076aade4469154c7f2b6d17981f8f1..f80ef9b95b6975ade2a0a4cbc1d7162065f3f7c0 100755 (executable)
@@ -54,7 +54,7 @@ public:
 
   void         CellInClusterPositionHistograms(AliVCluster* cluster);
     
-  void         ClusterAsymmetryHistograms(AliVCluster* clus, Int_t absIdMax, const Bool_t goodCluster );
+  void         ClusterAsymmetryHistograms(AliVCluster* clus, Int_t absIdMax, Bool_t goodCluster );
   
   void         ClusterHistograms(AliVCluster* cluster, const TObjArray *caloClusters,  AliVCaloCells * cells, 
                                  Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax);
@@ -81,8 +81,6 @@ public:
   
   void         MCHistograms();  
   
-  void         MCHistograms(const TLorentzVector mom, Int_t pdg);
-    
   void         WeightHistograms(AliVCluster *clus, AliVCaloCells* cells);
 
   // Setters and Getters
@@ -93,7 +91,10 @@ public:
   
   Float_t      GetPHOSCellAmpMin()       const  { return fPHOSCellAmpMin     ; }
   void         SetPHOSCellAmpMin (Float_t amp)  { fPHOSCellAmpMin  = amp     ; }
-    
+  
+  Float_t      GetInvMassMinECut()       const  { return fMinInvMassECut     ; }
+  void         SetInvMassMinECut(Float_t cut)   { fMinInvMassECut = cut      ; }
+
   TString      GetCalorimeter()          const  { return fCalorimeter        ; }
   void         SetCalorimeter(TString calo)     { fCalorimeter = calo        ; }
   
@@ -173,6 +174,8 @@ public:
   Float_t  fEMCALCellAmpMin;                  // amplitude Threshold on emcal cells
   Float_t  fPHOSCellAmpMin ;                  // amplitude Threshold on phos cells
   
+  Float_t  fMinInvMassECut;                   // Minimum energy cut value for clusters entering the invariant mass calculation
+  
   // Exotic studies
   Float_t  fExoNECrossCuts   ;                // Number of ecross cuts
   Float_t  fExoECrossCuts[10];                // List of ecross cuts
@@ -277,15 +280,19 @@ public:
   TH1F *   fhNCells;                          //! Number of towers/crystals with signal
   TH1F *   fhNCellsCutAmpMin;                 //! Number of towers/crystals with signal, with min amplitude
   TH1F *   fhAmplitude;                       //! Amplitude measured in towers/crystals
-  TH2F *   fhAmpId;                           //! Amplitude measured in towers/crystals vs id of tower.        
+  TH2F *   fhAmpId;                           //! Amplitude measured in towers/crystals vs id of tower.
   TH3F *   fhEtaPhiAmp;                       //! eta vs phi vs amplitude, cells
    
   TH1F *   fhTime;                            //! Time measured in towers/crystals
   TH2F *   fhTimeVz;                          //! Time measured in towers/crystals vs vertex z component, for E > 0.5
   TH2F *   fhTimeId;                          //! Time vs Absolute cell Id
-  TH2F *   fhTimeAmp;                         //! Time vs Amplitude 
+  TH2F *   fhTimeAmp;                         //! Time vs Amplitude
   
-  TH2F *   fhCellECross;                      //! 1 - Energy in cross around cell /  cell energy 
+  TH2F *   fhAmpIdLowGain;                    //! Amplitude measured in towers/crystals vs id of tower, low gain towers
+  TH2F *   fhTimeIdLowGain;                   //! Time vs Absolute cell Id, low gain
+  TH2F *   fhTimeAmpLowGain;                  //! Time vs Amplitude, low gain
+
+  TH2F *   fhCellECross;                      //! 1 - Energy in cross around cell /  cell energy
   
   //Calorimeters Correlation
   TH2F *   fhCaloCorrNClusters;               //! EMCAL vs PHOS, number of clusters    
@@ -332,6 +339,9 @@ public:
   TH2F *   fhGridCells ;                      //! Cells ordered in column/row for different module, Reco
   TH2F *   fhGridCellsE ;                     //! Cells ordered in column/row for different module, weighted with energy, Reco
   TH2F *   fhGridCellsTime ;                  //! Cells ordered in column/row for different module, weighted with time, Reco
+  TH2F *   fhGridCellsLowGain ;               //! Cells ordered in column/row for different module, Reco, low gain
+  TH2F *   fhGridCellsELowGain ;              //! Cells ordered in column/row for different module, weighted with energy, Reco, low gain
+  TH2F *   fhGridCellsTimeLowGain ;           //! Cells ordered in column/row for different module, weighted with time, Reco, low gain
   TH2F **  fhTimeAmpPerRCU;                   //! Time vs Amplitude measured in towers/crystals different RCU
   TH2F **  fhIMMod;                           //! cluster pairs invariant mass, different module,
        
@@ -368,19 +378,23 @@ public:
   
   //Pure MC
 
-  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
-  TH2F *   fhRecoMCEta[6][2] ;                //! eta generated particle vs reconstructed Eta
-  TH2F *   fhRecoMCDeltaE[6][2]  ;            //! Gen-Reco E    generated particle vs reconstructed E
-  TH2F *   fhRecoMCRatioE[6][2]  ;            //! Reco/Gen E    generated particle vs reconstructed E
-  TH2F *   fhRecoMCDeltaPhi[6][2];            //! Gen-Reco phi  generated particle vs reconstructed E
-  TH2F *   fhRecoMCDeltaEta[6][2];            //! Gen-Reco eta  generated particle vs reconstructed E
-  
-  TH1F *   fhGenMCE[4]     ;                  //! pt of primary particle
+  enum mcTypes {kmcPhoton   = 0, kmcPi0        = 1, kmcEta = 2,
+                kmcElectron = 3, kmcPhotonConv = 4,
+                kmcNeHadron = 5, kmcChHadron   = 6             };
+  
+  TH2F *   fhRecoMCE[7][2]  ;                 //! E   generated particle vs reconstructed E
+  TH2F *   fhRecoMCPhi[7][2] ;                //! phi generated particle vs reconstructed phi
+  TH2F *   fhRecoMCEta[7][2] ;                //! eta generated particle vs reconstructed Eta
+  TH2F *   fhRecoMCDeltaE[7][2]  ;            //! Gen-Reco E    generated particle vs reconstructed E
+  TH2F *   fhRecoMCRatioE[7][2]  ;            //! Reco/Gen E    generated particle vs reconstructed E
+  TH2F *   fhRecoMCDeltaPhi[7][2];            //! Gen-Reco phi  generated particle vs reconstructed E
+  TH2F *   fhRecoMCDeltaEta[7][2];            //! Gen-Reco eta  generated particle vs reconstructed E
+  
+  TH1F *   fhGenMCE [4]     ;                 //! pt of primary particle
+  TH1F *   fhGenMCPt[4]     ;                 //! pt of primary particle
   TH2F *   fhGenMCEtaPhi[4] ;                 //! eta vs phi of primary particle
-  TH1F *   fhGenMCAccE[4]     ;               //! pt of primary particle, in acceptance
+  TH1F *   fhGenMCAccE [4]     ;              //! pt of primary particle, in acceptance
+  TH1F *   fhGenMCAccPt[4]     ;              //! pt of primary particle, in acceptance
   TH2F *   fhGenMCAccEtaPhi[4] ;              //! eta vs phi of primary particle, in acceptance
   
   TH2F *   fhEMVxyz    ;                      //! Electromagnetic particle production vertex
@@ -427,7 +441,7 @@ public:
   AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & qa) ;//cpy assignment
   AliAnaCalorimeterQA(              const AliAnaCalorimeterQA & qa) ; // cpy ctor
   
-  ClassDef(AliAnaCalorimeterQA,28)
+  ClassDef(AliAnaCalorimeterQA,29)
 } ;