]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.h
add few histograms to CaloQA task, activate filling of histos in Analysis QA task
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / AliAnaCalorimeterQA.h
index c5b4aa340ead29bf11a3f05daaccf8fd2c392422..024d3df188047e29ba0987d495bcbc52d49f4aad 100755 (executable)
@@ -71,7 +71,10 @@ public:
 
   void         Correlate();
   
-  Float_t      GetECross(const Int_t absId, AliVCaloCells* cells);
+  void         ExoticHistograms(const Int_t absIdMax, const Float_t ampMax,
+                                AliVCluster *clus, AliVCaloCells* cells);
+  
+  Float_t      GetECross(const Int_t absId, AliVCaloCells* cells,const Float_t dtcut = 10000);
   
   void         InvariantMassHistograms(const Int_t iclus, const TLorentzVector mom, const Int_t nModule,
                                        const TObjArray* caloClusters, AliVCaloCells * cells);
@@ -137,8 +140,15 @@ public:
 
   void SwitchOnStudyWeight()                    { fStudyWeight      = kTRUE  ; }
   void SwitchOffStudyWeight()                   { fStudyWeight      = kFALSE ; }
-
-
+  
+  void SwitchOnStudyExotic()                    { fStudyExotic      = kTRUE  ; }
+  void SwitchOffStudyExotic()                   { fStudyExotic      = kFALSE ; }
+  
+  void SetNECrossCuts(Int_t n)                  { fExoNECrossCuts   = n      ; }
+  void SetNDTimeCuts (Int_t n)                  { fExoNDTimeCuts    = n      ; }
+  
+  void SetExoECrossCuts (Int_t i, Float_t c)    { if (i<fExoNECrossCuts) fExoECrossCuts[i] = c ; }
+  void SetExoDTimeCuts  (Int_t i, Float_t c)    { if (i<fExoNDTimeCuts ) fExoDTimeCuts [i] = c ; }
   
  private:
   
@@ -155,6 +165,7 @@ public:
   Bool_t   fCorrelate   ;                     // Correlate PHOS/EMCAL cells/clusters, also with V0 and track multiplicity
   Bool_t   fStudyBadClusters;                 // Study bad clusters
   Bool_t   fStudyClustersAsymmetry;           // Study asymmetry of clusters
+  Bool_t   fStudyExotic;                      // Study the exotic cluster for different cuts
   Bool_t   fStudyWeight;                      // Study the energy weight used in different cluster calculations
   
   // Parameters
@@ -169,6 +180,12 @@ public:
   Float_t  fEMCALCellAmpMin;                  // amplitude Threshold on emcal cells
   Float_t  fPHOSCellAmpMin ;                  // amplitude Threshold on phos cells
   
+  // Exotic studies
+  Float_t  fExoNECrossCuts   ;                // Number of ecross cuts
+  Float_t  fExoECrossCuts[10];                // List of ecross cuts
+  Float_t  fExoNDTimeCuts    ;                // Number of time cuts
+  Float_t  fExoDTimeCuts[5]  ;                // List of time cuts
+  
   //CaloClusters 
   TH1F *   fhE  ;                             //! E distribution, Reco
   TH1F *   fhPt ;                             //! pT distribution, Reco
@@ -298,6 +315,18 @@ public:
   TH2F *   fhCaloTrackMCorrNCells;            //! Calo vs V0 Track Multiplicity, number of cells
   TH2F *   fhCaloTrackMCorrECells;            //! Calo vs V0 Track Multipliticy,  total measured cell energy
   
+  // Centrality
+  TH2F *   fhCaloCenNClusters;               //! Calo vs centrality, number of clusters
+  TH2F *   fhCaloCenEClusters;               //! Calo vs centrality, total measured cluster energy
+  TH2F *   fhCaloCenNCells;                  //! Calo vs centrality, number of cells
+  TH2F *   fhCaloCenECells;                  //! Calo vs centrality,  total measured cell energy
+
+  // Event plane
+  TH2F *   fhCaloEvPNClusters;               //! Calo vs event plane angle, number of clusters
+  TH2F *   fhCaloEvPEClusters;               //! Calo vs event plane angle, total measured cluster energy
+  TH2F *   fhCaloEvPNCells;                  //! Calo vs event plane angle, number of cells
+  TH2F *   fhCaloEvPECells;                  //! Calo vs event plane angle,  total measured cell energy
+  
   //Module histograms
   TH2F *   fhEMod  ;                          //! cluster E distribution for different module, Reco
   TH2F *   fhAmpMod ;                         //! cell amplitude distribution for different module, Reco
@@ -314,16 +343,29 @@ public:
        
   // Weight studies
   
-  TH2F* fhECellClusterRatio;                  //! e cell / e cluster vs e cluster
-  TH2F* fhECellClusterLogRatio;               //! log (e cell / e cluster)  vs e cluster
-  TH2F* fhEMaxCellClusterRatio;               //! e max cell / e cluster vs e cluster
-  TH2F* fhEMaxCellClusterLogRatio;            //! log (e max cell / e cluster) vs e cluster
+  TH2F *   fhECellClusterRatio;               //! e cell / e cluster vs e cluster
+  TH2F *   fhECellClusterLogRatio;            //! log (e cell / e cluster)  vs e cluster
+  TH2F *   fhEMaxCellClusterRatio;            //! e max cell / e cluster vs e cluster
+  TH2F *   fhEMaxCellClusterLogRatio;         //! log (e max cell / e cluster) vs e cluster
   
-  TH2F* fhLambda0ForW0[14];                    //! L0 for 7 defined w0= 3, 3.5 ... 6
-  //TH2F* fhLambda1ForW0[7];                    //! L1 for 7 defined w0= 3, 3.5 ... 6
+  TH2F *   fhLambda0ForW0[14];                //! L0 for 7 defined w0= 3, 3.5 ... 6
+  //TH2F * fhLambda1ForW0[7];                  //! L1 for 7 defined w0= 3, 3.5 ... 6
 
-  TH2F* fhLambda0ForW0MC[14][5];               //! L0 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
-  //TH2F* fhLambda1ForW0MC[7][5];               //! L1 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
+  TH2F *   fhLambda0ForW0MC[14][5];            //! L0 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
+  //TH2F * fhLambda1ForW0MC[7][5];              //! L1 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
+  
+  // Exotic studies
+  
+  TH2F *   fhExoNCell  [10][5] ;               //! Number of cells per cluster for different cuts
+  TH2F *   fhExoL0     [10][5] ;               //! Long shower shape axis for exotic
+  TH2F *   fhExoL1     [10][5] ;               //! Short shower shape axis for exotic
+  TH2F *   fhExoECross [10][5] ;               //! E cross for max cell in cluster, for different cuts
+  TH2F *   fhExoTime   [10][5] ;               //! Time of exotic cluster, for different cuts
+  TH2F *   fhExoDTime  [10]    ;               //! Difference in time between cell with max energy and rest of cells for exotic
+  TH2F *   fhExoL0NCell[10][5] ;               //! Lambda0 vs n cells in cluster for several E cross cuts and cluster with E > 5
+  TH2F *   fhExoL0ECross      ;                //! Lambda0 vs E cross fraction for clusters with E > 5 GeV
+  TH2F *   fhExoL1NCell[10][5] ;               //! Lambda1 vs n cells in cluster for several E cross cuts and cluster with E > 5
+  TH2F *   fhExoL1ECross      ;                //! Lambda1 vs E cross fraction for clusters with E > 5 GeV
   
   //Pure MC
 
@@ -365,15 +407,28 @@ public:
   TH1F *   fhMCNeutral1dR;                    //! distance between projected track and cluster, MC neutral
   TH2F *   fhMCNeutral2MatchdEdx;             //! dE/dx vs. momentum for all matches, MC neutral       
        
-  TH2F *   fh1EOverPR02;                      //! p/E for track-cluster matches, dR > 0.2      
-  TH2F *   fhMCEle1EOverPR02;                 //! p/E for track-cluster matches, dR > 0.2, MC electrons
-  TH2F *   fhMCChHad1EOverPR02;               //! p/E for track-cluster matches, dR > 0.2, MC charged hadrons
-  TH2F *   fhMCNeutral1EOverPR02;             //! p/E for track-cluster matches, dR > 0.2, MC neutral
-       
+  TH2F *   fh1EOverPR02;                      //! p/E for track-cluster matches, dR < 0.2
+  TH2F *   fhMCEle1EOverPR02;                 //! p/E for track-cluster matches, dR < 0.2, MC electrons
+  TH2F *   fhMCChHad1EOverPR02;               //! p/E for track-cluster matches, dR < 0.2, MC charged hadrons
+  TH2F *   fhMCNeutral1EOverPR02;             //! p/E for track-cluster matches, dR < 0.2, MC neutral
+
+  TH2F *   fh1EleEOverP;                      //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100
+  TH2F *   fhMCEle1EleEOverP;                 //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC electrons
+  TH2F *   fhMCChHad1EleEOverP;               //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC charged hadrons
+  TH2F *   fhMCNeutral1EleEOverP;             //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC neutral
+
+  TH2F *   fhTrackMatchedDEta    ;            //! Eta distance between track and cluster vs cluster E, after and before photon cuts
+  TH2F *   fhTrackMatchedDPhi    ;            //! Phi distance between track and cluster vs cluster E, after and before photon cuts
+  TH2F *   fhTrackMatchedDEtaDPhi;            //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before
+  
+  TH2F *   fhTrackMatchedDEtaPos;             //! Eta distance between track and cluster vs cluster E, after and before photon cuts
+  TH2F *   fhTrackMatchedDPhiPos;             //! Phi distance between track and cluster vs cluster E, after and before photon cuts
+  TH2F *   fhTrackMatchedDEtaDPhiPos;         //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before
+
   AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & qa) ;//cpy assignment
   AliAnaCalorimeterQA(              const AliAnaCalorimeterQA & qa) ; // cpy ctor
   
-  ClassDef(AliAnaCalorimeterQA,24)
+  ClassDef(AliAnaCalorimeterQA,27)
 } ;