]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONQADataMakerRec.h
Filling residuals (GlobalQA) only for tracks with kTPCin
[u/mrichter/AliRoot.git] / MUON / AliMUONQADataMakerRec.h
index 759722cf533c81f72bb804a9568a23984a6d6292..87881efbf9b067b8e774a695e865c070cbbc7267 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef AliMUONQADataMakerRec_H
-#define AliMUONQADataMakerRec_H
+#ifndef ALIMUONQADATAMAKERREC_H
+#define ALIMUONQADATAMAKERREC_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
@@ -18,6 +18,7 @@ class AliMUONDigitMaker;
 class AliMUONVDigitStore;
 class AliMUONVTriggerStore;
 class AliMUONVClusterStore;
+class AliMUONVTrackerData;
 class AliMUONVTrackerDataMaker;
 
 class AliMUONQADataMakerRec: public AliQADataMakerRec {
@@ -28,6 +29,24 @@ public:
   AliMUONQADataMakerRec& operator=(const AliMUONQADataMakerRec& qadm);
   virtual ~AliMUONQADataMakerRec();
   
+  AliMUONVTrackerData* GetTrackerData() const;
+  
+protected:
+       
+  virtual void StartOfDetectorCycle(); 
+
+  virtual void InitRaws(); 
+  virtual void InitRecPoints(); 
+  virtual void InitESDs(); 
+  
+  virtual void MakeRaws(AliRawReader* rawReader); 
+  virtual void MakeRecPoints(TTree* recpo); 
+  virtual void MakeESDs(AliESDEvent* esd) ;
+  
+  virtual void DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t) {}
+
+  virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray** list);
+
 private:
   /// Raw histograms indices
   enum ERaw { 
@@ -35,7 +54,8 @@ private:
     kTrackerBusPatchOccupancy = 4, ///< Bus patch occupancies
     kTriggerScalersBP      = 22, ///< Trigger scalers on BP histogram per chamber index
     kTriggerScalersNBP     = 23, ///< Trigger scalers on NBP histogram per chamber index
-    kTriggerScalersDisplay = 24  ///< Trigger scalers display histogram per chamber index
+    kTriggerScalersDisplay = 24, ///< Trigger scalers display histogram per chamber index
+    kTriggerScalersTime    = 32  ///< Trigger scalers acquisition time index
   };
          
   /// Rec points histograms indices
@@ -50,73 +70,90 @@ private:
     kTriggerIDisplay           = 14, ///< Trigger chamber currents display histogram index
     kTriggerHVDisplay          = 18, ///< Trigger chamber HV display histogram index
     
-    kTrackerNumberOfClustersPerChamber    = 100, ///< Tracker: # of clusters per chamber
+    kTrackerNumberOfClustersPerChamber    = 100, ///< Tracker: number of clusters per chamber
+    kTrackerClusterMultiplicityPerChMean  = 101, ///< cluster size per Ch: mean
+    kTrackerClusterMultiplicityPerChSigma = 102, ///< cluster size per Ch: dispersion
+    kTrackerClusterChargePerChMean        = 103, ///< cluster charge per Ch: mean
+    kTrackerClusterChargePerChSigma       = 104, ///< cluster charge per Ch: dispersion
+    
     kTrackerClusterMultiplicityPerChamber = 200, ///< Tracker: cluster multiplicity per chamber
     kTrackerClusterChargePerChamber       = 300, ///< Tracker: cluster charge per chamber
-                               
-    kTrackerNumberOfClustersPerDE    = 1000, ///< Tracker : number of clusters per DE          
+    kTrackerClusterHitMapPerChamber       = 400, ///< Tracker: cluster position distribution per chamber
+    
+    kTrackerNumberOfClustersPerDE        = 1000, ///< Tracker : number of clusters per DE              
+    kTrackerClusterMultiplicityPerDEMean = 1001, ///< cluster size per DE: mean
+    kTrackerClusterChargePerDEMean       = 1002, ///< cluster charge per DE: mean
+    
     kTrackerClusterMultiplicityPerDE = 3000, ///< Tracker : cluster multiplicity per DE                
     kTrackerClusterChargePerDE       = 5000  ///< Tracker : cluster charge per DE
   };
   
   /// ESD histograms indices
   enum EESD { 
-    kESDnTracks             = 0,  ///< number of tracks
-    kESDMatchTrig           = 1,  ///< number of tracks matched with trigger
-    kESDMomentum            = 2,  ///< P distribution
-    kESDPt                  = 3,  ///< Pt distribution
-    kESDRapidity            = 4,  ///< rapidity distribution
-    kESDChi2                = 5,  ///< normalized chi2 distribution
+    kESDnTracks                 = 0,  ///< number of tracks
+    kESDMatchTrig               = 1,  ///< number of tracks matched with trigger
+    kESDMomentum                = 2,  ///< P distribution
+    kESDPt                      = 3,  ///< Pt distribution
+    kESDRapidity                = 4,  ///< rapidity distribution
+    kESDChi2                    = 5,  ///< normalized chi2 distribution
+    kESDProbChi2                = 6,  ///< distribution of probability of chi2
     
-    kESDClusterHitMap       = 6,  ///< cluster position distribution in chamber i
-    kESDnClustersPerTrack   = 16, ///< number of clusters per track
-    kESDnClustersPerCh      = 17, ///< number of clusters per chamber
-    kESDnClustersPerDE      = 18, ///< number of clusters per DE
-    kESDClusterCharge       = 19, ///< cluster charge distribution
-    kESDClusterChargeInCh   = 20, ///< cluster charge distribution in chamber i
-    kESDClusterChargePerDE  = 30, ///< cluster charge per DE: mean +- dispersion
-    kESDClusterMult         = 31, ///< cluster multiplicity distribution
-    kESDClusterMultInCh     = 32, ///< cluster multiplicity distribution in chamber i
-    kESDClusterMultPerDE    = 42, ///< cluster multiplicity per DE: mean +- dispersion
+    kESDClusterHitMap           = 7,  ///< cluster position distribution in chamber i
+    kESDnClustersPerTrack       = 17, ///< number of clusters per track
+    kESDnClustersPerCh          = 18, ///< number of clusters per chamber per track
+    kESDnClustersPerDE          = 19, ///< number of clusters per DE per track
+    kESDClusterChargeInCh       = 20, ///< cluster charge distribution in chamber i
+    kESDClusterChargePerChMean  = 30, ///< cluster charge per Ch: mean
+    kESDClusterChargePerChSigma = 31, ///< cluster charge per Ch: dispersion
+    kESDClusterChargePerDE      = 32, ///< cluster charge per DE: mean
+    kESDClusterSizeInCh         = 33, ///< cluster size distribution in chamber i
+    kESDClusterSizePerChMean    = 43, ///< cluster size per Ch: mean
+    kESDClusterSizePerChSigma   = 44, ///< cluster size per Ch: dispersion
+    kESDClusterSizePerDE        = 45, ///< cluster size per DE: mean
     
-    kESDResidualX           = 43, ///< cluster-track residual-X distribution
-    kESDResidualY           = 44, ///< cluster-track residual-Y distribution
-    kESDResidualXInCh       = 45, ///< cluster-track residual-X distribution in chamber i
-    kESDResidualYInCh       = 55, ///< cluster-track residual-Y distribution in chamber i
-    kESDResidualXPerDEMean  = 65, ///< cluster-track residual-X per DE: mean
-    kESDResidualYPerDEMean  = 66, ///< cluster-track residual-Y per DE: mean
-    kESDResidualXPerDESigma = 67, ///< cluster-track residual-X per DE: sigma
-    kESDResidualYPerDESigma = 68  ///< cluster-track residual-Y per DE: sigma
+    kESDResidualXInCh           = 46, ///< cluster-track residual-X distribution in chamber i
+    kESDResidualYInCh           = 56, ///< cluster-track residual-Y distribution in chamber i
+    kESDResidualXPerChMean      = 66, ///< cluster-track residual-X per Ch: mean
+    kESDResidualYPerChMean      = 67, ///< cluster-track residual-Y per Ch: mean
+    kESDResidualXPerChSigma     = 68, ///< cluster-track residual-X per Ch: dispersion
+    kESDResidualYPerChSigma     = 69, ///< cluster-track residual-Y per Ch: dispersion
+    kESDResidualXPerDEMean      = 70, ///< cluster-track residual-X per DE: mean
+    kESDResidualYPerDEMean      = 71, ///< cluster-track residual-Y per DE: mean
+    kESDResidualXPerDESigma     = 72, ///< cluster-track residual-X per DE: dispersion
+    kESDResidualYPerDESigma     = 73, ///< cluster-track residual-Y per DE: dispersion
+    kESDLocalChi2XInCh          = 74, ///< local chi2-X distribution in chamber i
+    kESDLocalChi2YInCh          = 84, ///< local chi2-Y distribution in chamber i
+    kESDLocalChi2XPerChMean     = 94, ///< local chi2-X per Ch: mean
+    kESDLocalChi2YPerChMean     = 95, ///< local chi2-Y per Ch: mean
+    kESDLocalChi2XPerDEMean     = 96, ///< local chi2-X per DE: mean
+    kESDLocalChi2YPerDEMean     = 97, ///< local chi2-Y per DE: mean
+    
+    kESDnTotClustersPerCh       = 1000, ///< total number of associated clusters per chamber
+    kESDnTotClustersPerDE       = 1001, ///< total number of associated clusters per DE
+    kESDnTotFullClustersPerDE   = 1002, ///< total number of associated clusters containing pad info per DE
+    kESDSumClusterChargePerDE   = 1003, ///< sum of cluster charge per DE
+    kESDSumClusterSizePerDE     = 1004, ///< sum of cluster size per DE
+    kESDSumResidualXPerDE       = 1005, ///< sum of cluster-track residual-X per DE
+    kESDSumResidualYPerDE       = 1006, ///< sum of cluster-track residual-Y per DE
+    kESDSumResidualX2PerDE      = 1007, ///< sum of cluster-track residual-X**2 per DE
+    kESDSumResidualY2PerDE      = 1008, ///< sum of cluster-track residual-Y**2 per DE
+    kESDSumLocalChi2XPerDE      = 1009, ///< sum of local chi2-X per DE
+    kESDSumLocalChi2YPerDE      = 1010  ///< sum of local chi2-X per DE
   };
-
-protected:
-       
-  virtual void StartOfDetectorCycle(); 
-
-  virtual void InitRaws(); 
-  virtual void InitRecPoints(); 
-  virtual void InitESDs(); 
   
-  virtual void MakeRaws(AliRawReader* rawReader); 
-  virtual void MakeRecPoints(TTree* recpo); 
-  virtual void MakeESDs(AliESDEvent* esd) ;
-  
-  virtual void DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t) {}
-
-       virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray** list);
-
 private:
        
-       void Ctor();
+  void Ctor();
   void DisplayTriggerInfo(AliQA::TASKINDEX_t task);
   Bool_t FillTriggerDCSHistos();
-       void InitRecPointsTracker();
-       void InitRecPointsTrigger();
-       void MakeRawsTracker(AliRawReader* rawReader);
-       void MakeRawsTrigger(AliRawReader* rawReader);
+  void InitRecPointsTracker();
+  void InitRecPointsTrigger();
+  void MakeRawsTracker(AliRawReader* rawReader);
+  void MakeRawsTrigger(AliRawReader* rawReader);
   void MakeRecPointsTracker(TTree* treeR);
   void MakeRecPointsTrigger(TTree* treeR);
        
+  /// Return reco parameters
   const AliMUONRecoParam* GetRecoParam() const { return dynamic_cast<const AliMUONRecoParam *>(fRecoParam); }
   
   Bool_t  fIsInitRaws;       //!<  info if InitRaws() went ok
@@ -130,8 +167,8 @@ private:
   AliMUONVClusterStore* fClusterStore; //!< pointer to cluster store
        
   AliMUONVTrackerDataMaker* fTrackerDataMaker; //!< tracker data accumulation
-       
-  ClassDef(AliMUONQADataMakerRec,4)  // MUON Quality assurance data maker
+  
+  ClassDef(AliMUONQADataMakerRec,5)  // MUON Quality assurance data maker
 
 };
 #endif