LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDCalibraFillHisto.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 79 2.5 %
Date: 2016-06-14 17:26:59 Functions: 2 83 2.4 %

          Line data    Source code
       1             : #ifndef ALITRDCALIBRAFILLHISTO_H
       2             : #define ALITRDCALIBRAFILLHISTO_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : ///////////////////////////////////////////////////////////////////////////////
       9             : //                                                                           //
      10             : //  TRD calibration class for the HLT parameters                             //
      11             : //                                                                           //
      12             : ///////////////////////////////////////////////////////////////////////////////
      13             : 
      14             : #ifndef ROOT_TObject
      15             : #  include <TObject.h>
      16             : #endif
      17             : #ifndef ROOT_TProfile2D
      18             : #  include <TProfile2D.h> 
      19             : #endif
      20             : 
      21             : #include "TObjArray.h"
      22             : 
      23             : class TProfile2D;
      24             : class TObjArray;
      25             : class TH1F;
      26             : class TH2I;
      27             : class TH2F;
      28             : class TH2;
      29             : class TLinearFitter;
      30             : class TTreeSRedirector;
      31             : 
      32             : class AliLog;
      33             : class AliRawReader;
      34             : 
      35             : class AliESDtrack;
      36             : 
      37             : class AliTRDCalibraMode;
      38             : class AliTRDCalibraVector;
      39             : class AliTRDCalibraVdriftLinearFit;
      40             : class AliTRDCalibraExbAltFit;
      41             : class AliTRDcluster;
      42             : class AliTRDtrackV1;
      43             : class AliTRDseedV1;
      44             : class AliTRDgeometry;
      45             : class AliTRDCalDet;
      46             : class AliTRDCalROC;
      47             : class AliTRDcalibDB;
      48             : 
      49             : class AliTRDdigitsManager;
      50             : class AliTRDSignalIndex;
      51             : 
      52             : struct eventHeaderStruct;
      53             : 
      54             : class AliTRDCalibraFillHisto : public TObject {
      55             : 
      56             :  public: 
      57             : 
      58             :   // Instance
      59             :   static AliTRDCalibraFillHisto *Instance();
      60             :   static void Terminate();
      61             :   static void Destroy();
      62             :   void DestroyDebugStreamer();
      63             : 
      64             : 
      65             :   AliTRDCalibraFillHisto(const AliTRDCalibraFillHisto &c);
      66           0 :   AliTRDCalibraFillHisto &operator=(const AliTRDCalibraFillHisto &) { return *this; }
      67             : 
      68             :   // Functions for initialising and filling with AliTRDtrackV1
      69             :           Bool_t  Init2Dhistos(Int_t nboftimebin = -1);
      70             :           Bool_t  InitCalDet();
      71             :           Bool_t  UpdateHistogramsV1(const AliTRDtrackV1 *t,const AliESDtrack *esdtrack = NULL);
      72             :  
      73             :   // Process events DAQ
      74             :           Int_t   ProcessEventDAQ(AliRawReader *rawReader);
      75             : 
      76             :   // Is Pad on
      77             :           Bool_t   IsPadOn(Int_t detector, Int_t row, Int_t col) const;
      78             : 
      79             :   // Functions for write
      80             :           void     Write2d(const Char_t *filename = "TRD.calibration.root", Bool_t append = kFALSE);
      81             : 
      82             :   //For the statistics
      83             :           Double_t *StatH(TH2 *ch, Int_t i);
      84             :           Double_t *GetMeanMedianRMSNumberCH();
      85             :           Double_t *GetMeanMedianRMSNumberLinearFitter() const;
      86             :  // LinearFitter
      87             :           void     AnalyseLinearFitter();
      88             :        
      89             :          
      90             :   //
      91             :   // Set of Get the variables
      92             :   //
      93             : 
      94           0 :           void     SetIsHLT(Bool_t isHLT = kTRUE)                            { fIsHLT = isHLT;                       }  
      95           0 :           Bool_t   IsHLT() const                                             { return fIsHLT;                        }  
      96             : 
      97             :   // Choice to fill or not the 2D
      98           0 :           void     SetPH2dOn(Bool_t ph2don = kTRUE)                          { fPH2dOn          = ph2don;            }
      99           0 :           void     SetCH2dOn(Bool_t ch2don = kTRUE)                          { fCH2dOn          = ch2don;            }
     100           0 :           void     SetPRF2dOn(Bool_t prf2don = kTRUE)                        { fPRF2dOn         = prf2don;           }
     101           0 :           void     SetHisto2d(Bool_t histo2d = kTRUE)                        { fHisto2d         = histo2d;           }
     102           0 :           void     SetVector2d(Bool_t vector2d = kTRUE)                      { fVector2d        = vector2d;          }
     103           0 :           void     SetLinearFitterOn(Bool_t linearfitteron = kTRUE)          { fLinearFitterOn      = linearfitteron;}
     104           0 :           void     SetLinearFitterDebugOn(Bool_t debug = kTRUE)              { fLinearFitterDebugOn = debug;         }
     105           0 :           void     SetExbAltFitOn(Bool_t fiton = kTRUE)                      { fExbAltFitOn      = fiton;}
     106           0 :           void     SetScaleWithTPCSignal(Bool_t scaleWithTPCSignal = kTRUE)  { fScaleWithTPCSignal = scaleWithTPCSignal;}
     107           0 :           void     SetTakeSnapshot(Bool_t takesnapshot)                 { fTakeSnapshot = takesnapshot;   }
     108           0 :           void     SetFirstRunGain(Int_t firstRunGain)                       { fFirstRunGain = firstRunGain;   }
     109           0 :           void     SetVersionGainUsed(Int_t versionGainUsed)                 { fVersionGainUsed = versionGainUsed;   }
     110           0 :           void     SetSubVersionGainUsed(Int_t subVersionGainUsed)           { fSubVersionGainUsed = subVersionGainUsed;   }
     111           0 :           void     SetFirstRunGainLocal(Int_t firstRunGainLocal)             { fFirstRunGainLocal = firstRunGainLocal;   }
     112           0 :           void     SetVersionGainLocalUsed(Int_t versionGainLocalUsed)       { fVersionGainLocalUsed = versionGainLocalUsed;   }
     113           0 :           void     SetSubVersionGainLocalUsed(Int_t subVersionGainLocalUsed) { fSubVersionGainLocalUsed = subVersionGainLocalUsed;   }
     114           0 :           void     SetFirstRunVdrift(Int_t firstRunVdrift)                   { fFirstRunVdrift = firstRunVdrift;   }
     115           0 :           void     SetVersionVdriftUsed(Int_t versionVdriftUsed)             { fVersionVdriftUsed = versionVdriftUsed;   }
     116           0 :           void     SetSubVersionVdriftUsed(Int_t subVersionVdriftUsed)       { fSubVersionVdriftUsed = subVersionVdriftUsed;   }
     117           0 :           void     SetFirstRunExB(Int_t firstRunExB)                         { fFirstRunExB = firstRunExB;   }
     118           0 :           void     SetVersionExBUsed(Int_t versionExBUsed)                   { fVersionExBUsed = versionExBUsed;   }
     119           0 :           void     SetSubVersionExBUsed(Int_t subVersionExBUsed)             { fSubVersionExBUsed = subVersionExBUsed;   }
     120             :           
     121             :   
     122           0 :           Bool_t   GetPH2dOn() const                                         { return fPH2dOn;                 }
     123           0 :           Bool_t   GetCH2dOn() const                                         { return fCH2dOn;                 }
     124           0 :           Bool_t   GetPRF2dOn() const                                        { return fPRF2dOn;                }
     125         208 :           Bool_t   GetHisto2d() const                                        { return fHisto2d;                }
     126           0 :           Bool_t   GetVector2d() const                                       { return fVector2d;               }
     127           0 :           Bool_t   GetLinearFitterOn() const                                 { return fLinearFitterOn;         }
     128           0 :           Bool_t   GetLinearFitterDebugOn() const                            { return fLinearFitterDebugOn;    }
     129           0 :           Int_t    GetVersionGainUsed() const                                { return fVersionGainUsed;        }
     130           0 :           Int_t    GetSubVersionGainUsed() const                             { return fSubVersionGainUsed;     }
     131           0 :           Int_t    GetVersionVdriftUsed() const                              { return fVersionVdriftUsed;      }
     132           0 :           Int_t    GetSubVersionVdriftUsed() const                           { return fSubVersionVdriftUsed;   }
     133             : 
     134             : 
     135             :   // Get stuff that are filled
     136             :   TH2I            *GetCH2d();
     137             :   TProfile2D      *GetPH2d(Int_t nbtimebin=24, Float_t samplefrequency= 10.0);
     138           0 :   TProfile2D      *GetPRF2d() const                                          { return fPRF2d;                  } 
     139           0 :   TObjArray        GetLinearFitterArray() const                              { return fLinearFitterArray;      }
     140             :   TLinearFitter   *GetLinearFitter(Int_t detector, Bool_t force=kFALSE);
     141           0 :   AliTRDCalibraVdriftLinearFit *GetVdriftLinearFit() const                   { return fLinearVdriftFit; }
     142           0 :   AliTRDCalibraExbAltFit *GetExbAltFit() const                               { return fExbAltFit; }
     143             :   
     144             :  
     145             :   // How to fill the 2D
     146             :           void     SetRelativeScale(Float_t relativeScale);                      
     147           0 :           void     SetThresholdClusterPRF2(Float_t thresholdClusterPRF2)     { fThresholdClusterPRF2 = thresholdClusterPRF2; }
     148           0 :           void     SetLimitChargeIntegration(Bool_t limitChargeIntegration)  { fLimitChargeIntegration = limitChargeIntegration; }
     149           0 :           void     SetFillWithZero(Bool_t fillWithZero)                      { fFillWithZero = fillWithZero;   }
     150           0 :           void     SetNormalizeNbOfCluster(Bool_t normalizeNbOfCluster)      { fNormalizeNbOfCluster = normalizeNbOfCluster; }
     151           0 :           void     SetMaxCluster(Float_t maxCluster)                         { fMaxCluster = maxCluster; }
     152           0 :           void     SetNbMaxCluster(Short_t nbMaxCluster)                     { fNbMaxCluster = nbMaxCluster; }
     153           0 :           void     SetCutWithVdriftCalib(Bool_t cutWithVdriftCalib)          { fCutWithVdriftCalib = cutWithVdriftCalib; }
     154           0 :           void     SetMinNbTRDtracklets(Int_t minNbTRDtracklets)             { fMinNbTRDtracklets = minNbTRDtracklets; }
     155           0 :           void     SetMinTRDMomentum(Float_t minTRDMomentum)                 { fMinTRDMomentum = minTRDMomentum; }
     156             :           void     SetNz(Int_t i, Short_t nz);
     157             :           void     SetNrphi(Int_t i, Short_t nrphi);
     158             :           void     SetAllTogether(Int_t i);
     159             :           void     SetPerSuperModule(Int_t i);
     160           0 :           void     SetProcent(Float_t procent)                               { fProcent              = procent;              }
     161           0 :           void     SetDifference(Short_t difference)                         { fDifference           = difference;           }
     162           0 :           void     SetNumberClusters(Short_t numberClusters)                 { if(numberClusters >= 0) fNumberClusters       = numberClusters;       }
     163           0 :           void     SetNumberClustersf(Short_t numberClustersf)               { fNumberClustersf      = numberClustersf;      }
     164           0 :           void     SetNumberClustersProcent(Float_t numberClustersProcent)   { fNumberClustersProcent = numberClustersProcent;                       }
     165           0 :           void     SetThresholdClustersDAQ(Float_t thresholdClustersDAQ)     { fThresholdClustersDAQ = thresholdClustersDAQ;                         }
     166           0 :           void     SetNumberRowDAQ(Short_t numberRowDAQ)                     { fNumberRowDAQ         = numberRowDAQ;         }
     167           0 :           void     SetNumberColDAQ(Short_t numberColDAQ)                     { fNumberColDAQ         = numberColDAQ;         }
     168           0 :           void     SetRangeHistoCharge(Float_t rangeHistoCharge)             { fRangeHistoCharge     = rangeHistoCharge;     }
     169           0 :           void     SetNumberBinCharge(Short_t numberBinCharge)               { fNumberBinCharge      = numberBinCharge;      }
     170           0 :           void     SetNumberBinPRF(Short_t numberBinPRF)                     { fNumberBinPRF         = numberBinPRF;         }
     171             :           void     SetNumberGroupsPRF(Short_t numberGroupsPRF);
     172             :   
     173           0 :           Float_t  GetRelativeScale() const                                  { return fRelativeScale;          }
     174           0 :           Float_t  GetThresholdClusterPRF2() const                           { return fThresholdClusterPRF2;   }
     175           0 :           Bool_t   GetLimitChargeIntegration() const                         { return fLimitChargeIntegration; }
     176           0 :           Bool_t   GetFillWithZero() const                                   { return fFillWithZero;           }
     177           0 :           Bool_t   GetNormalizeNbOfCluster() const                           { return fNormalizeNbOfCluster;   }
     178           0 :           Float_t  GetMaxCluster() const                                     { return fMaxCluster;             }
     179           0 :           Short_t  GetNbMaxCluster() const                                   { return fNbMaxCluster;           }
     180           0 :           Bool_t   GetCutWithVdriftCalib() const                             { return fCutWithVdriftCalib;     }
     181           0 :           Float_t  GetProcent() const                                        { return fProcent;                }
     182           0 :           Short_t  GetDifference() const                                     { return fDifference;             }
     183           0 :           Short_t  GetNumberClusters() const                                 { return fNumberClusters;         }
     184           0 :           Short_t  GetNumberClustersf() const                                { return fNumberClustersf;        }
     185           0 :           Short_t  GetNumberBinCharge() const                                { return fNumberBinCharge;        }
     186           0 :           Short_t  GetNumberBinPRF() const                                   { return fNumberBinPRF;           }
     187           0 :           Short_t  GetNumberGroupsPRF() const                                { return fNgroupprf;              }
     188           0 :           Int_t    *GetEntriesLinearFitter() const                           { return fEntriesLinearFitter;    }
     189             : 
     190             :  // Debug
     191           0 :           void     SetDebugLevel(Short_t level)                              { fDebugLevel = level;           }
     192             : 
     193             :   // Vector method
     194           0 : AliTRDCalibraVector *GetCalibraVector() const                                { return fCalibraVector;          }   
     195             :   
     196             :  protected:
     197             : 
     198             :   // Geometry
     199             :   AliTRDgeometry  *fGeo;                    //! The TRD geometry
     200             :   // calibration DB
     201             :   AliTRDcalibDB   *fCalibDB;                //! The pointer to the TRDcalibDB instance
     202             : 
     203             :   // Is HLT
     204             :           Bool_t   fIsHLT;                  // Now if HLT, the per detector
     205             : 
     206             :   // Choice to fill or not the 2D
     207             :           Bool_t   fCH2dOn;                 // Chose to fill the 2D histos or vectors for the relative gain calibration 
     208             :           Bool_t   fPH2dOn;                 // Chose to fill the 2D histos or vectors for the drift velocity and T0
     209             :           Bool_t   fPRF2dOn;                // Chose to fill the 2D histos or vectors for the pad response function calibration
     210             :           Bool_t   fHisto2d;                // Chose to fill the 2D histos
     211             :           Bool_t   fVector2d;               // Chose to fill vectors
     212             :           Bool_t   fLinearFitterOn;         // Method with linear fit for drift velocity
     213             :           Bool_t   fLinearFitterDebugOn;    // Method with linear fit for drift velocity
     214             :           Bool_t   fExbAltFitOn;            // Enable parabolic fit for exb
     215             :           Bool_t   fScaleWithTPCSignal;     // Scale the gain with TPC signal (If use then ask at least 70 TPC clusters)
     216             : 
     217             :   // How to fill the 2D
     218             :           Float_t  fRelativeScale;          // Scale of the deposited charge
     219             :           Float_t  fThresholdClusterPRF2;   // Threshold on cluster pad signals
     220             :           Bool_t   fLimitChargeIntegration; // Integration range for the gain calibration
     221             :           Bool_t   fFillWithZero;           // Fill with zero or not the average pulse height
     222             :           Bool_t   fNormalizeNbOfCluster;   // Normalize with the number of cluster for the gain
     223             :           Float_t  fMaxCluster;             // Max amplitude of one cluster
     224             :           Short_t  fNbMaxCluster;           // Number of tb at the end
     225             :           Bool_t   fCutWithVdriftCalib;     // CutWithVdriftCalib for the gain and PH
     226             :           Int_t    fMinNbTRDtracklets;      // Min number of TRD tracklets
     227             :           Float_t  fMinTRDMomentum;         // Min TRD momentum
     228             :   // Back correction
     229             :           Bool_t   fTakeSnapshot;           // Take from snapshot
     230             :           Int_t    fFirstRunGain;           // FirstRunGain 
     231             :           Int_t    fVersionGainUsed;        // VersionGainUsed 
     232             :           Int_t    fSubVersionGainUsed;     // SubVersionGainUsed
     233             :           Int_t    fFirstRunGainLocal;      // FirstRunGainLocal 
     234             :           Int_t    fVersionGainLocalUsed;   // VersionGainUsed 
     235             :           Int_t    fSubVersionGainLocalUsed;// SubVersionGainUsed
     236             :           Int_t    fFirstRunVdrift;         // FirstRunVdrift 
     237             :           Int_t    fVersionVdriftUsed;      // VersionVdriftUsed 
     238             :           Int_t    fSubVersionVdriftUsed;   // SubVersionVdriftUsed
     239             :           Int_t    fFirstRunExB;            // FirstRunExB 
     240             :           Int_t    fVersionExBUsed;         // VersionExBUsed 
     241             :           Int_t    fSubVersionExBUsed;      // SubVersionExBUsed
     242             :   // Calibration mode
     243             :           AliTRDCalibraMode *fCalibraMode;  // Calibration mode
     244             : 
     245             :   //For debugging
     246             :           TTreeSRedirector          *fDebugStreamer;                 //!Debug streamer
     247             :           Short_t     fDebugLevel;                                   // Flag for debugging
     248             :   //
     249             :   // Internal variables
     250             :   //
     251             : 
     252             :   // Fill the 2D histos in the offline tracking
     253             :           Int_t    fDetectorPreviousTrack;  // Change of detector
     254             :           Int_t    fMCMPrevious;            // Change of MCM
     255             :           Int_t    fROBPrevious;            // Change of ROB
     256             :           Short_t  fNumberClusters;         // Minimum number of clusters in the tracklets
     257             :           Short_t  fNumberClustersf;        // Maximum number of clusters in the tracklets
     258             :           Float_t  fNumberClustersProcent;  // Procent of number of time bins for fNumberClusters
     259             :           Float_t  fThresholdClustersDAQ;   // Threshold clusters for DAQ algorithm
     260             :           Short_t  fNumberRowDAQ;           // Size of the spot for DAQ algorithm
     261             :           Short_t  fNumberColDAQ;           // Size of the spot for DAQ algorithm
     262             :           Float_t  fProcent;                // Limit to take the info of the most important calibration group if the track goes through 2 groups (CH)
     263             :           Short_t  fDifference;             // Limit to take the info of the most important calibration group if the track goes through 2 groups (CH)
     264             :           Int_t    fNumberTrack;            // How many tracks could be used (Debug for the moment)
     265             :           Int_t    fNumberUsedCh[2];        // How many tracks have been really used for the gain (0, strict; 1 with fProcent)
     266             :           Int_t    fNumberUsedPh[2];        // How many tracks have been really used for the drift velocity (0, strict; 1 with fDifference)
     267             :           Int_t    fTimeMax;                // Number of time bins
     268             :           Float_t  fSf;                     // Sampling frequence
     269             :           Float_t  fRangeHistoCharge;       // Range of the histo for the charge
     270             :           Short_t  fNumberBinCharge;        // Number of bins for the gain factor
     271             :           Short_t  fNumberBinPRF;           // Number of bin for the PRF
     272             :           Short_t  fNgroupprf;              // Number of groups in tnp bins for PRF /2.0
     273             : 
     274             :   // Variables per tracklet
     275             :           Float_t       *fAmpTotal;                  // Energy deposited in the calibration group by the track
     276             :           Short_t       *fPHPlace;                   // Calibration group of PH
     277             :           Float_t       *fPHValue;                   // PH
     278             :           Bool_t         fGoodTracklet;              // Good tracklet
     279             :           TLinearFitter *fLinearFitterTracklet;      // linear fitter tracklet  
     280             :   //Statistics
     281             :           Int_t         *fEntriesCH;                 // Number of entries CH
     282             :           Int_t         *fEntriesLinearFitter;       // Number of entries LinearFitter
     283             : 
     284             : 
     285             :   //
     286             :   // Vector method
     287             :   //
     288             :           
     289             :           AliTRDCalibraVector *fCalibraVector; // The vector object
     290             :  
     291             :  
     292             :   // Histograms to store the info from the digits, from the tracklets or from the tracks
     293             :           TProfile2D      *fPH2d;                         // 2D average pulse height
     294             :           TProfile2D      *fPRF2d;                        // 2D PRF
     295             :           TH2I            *fCH2d;                         // 2D deposited charge
     296             :           TObjArray       fLinearFitterArray;             // TObjArray of Linear Fitters for the detectors 
     297             :           AliTRDCalibraVdriftLinearFit *fLinearVdriftFit; // Info Linear Fit
     298             :           AliTRDCalibraExbAltFit *fExbAltFit; // ExB parabolic fit (alternative to vdrift linear fit)
     299             :           
     300             :  // Current calib object: to correct for the database used
     301             :           AliTRDCalDet *fCalDetGain;                      // Current calib object gain
     302             :           AliTRDCalROC *fCalROCGain;                      // Current calib object gain
     303             :            
     304             :   //
     305             :   // A lot of internal functions......
     306             :   // Init
     307             :           Bool_t   InitCalPad(Int_t detector);
     308             :   //
     309             :   // Create the 2D histo to be filled Online
     310             :           void     CreateCH2d(Int_t nn);
     311             :           void     CreatePH2d(Int_t nn);
     312             :           void     CreatePRF2d(Int_t nn);
     313             :   
     314             :   // Calibration with AliTRDtrackV1
     315             :           void     FillTheInfoOfTheTrackPH();
     316             :           void     FillTheInfoOfTheTrackCH(Int_t nbclusters);
     317             :           Bool_t   FindP1TrackPHtrackletV1(const AliTRDseedV1 *tracklet, Int_t nbclusters);
     318             :           Bool_t   HandlePRFtrackletV1(const AliTRDseedV1 *tracklet, Int_t nbclusters);
     319             :           void     ResetfVariablestracklet();
     320             :           Float_t  StoreInfoCHPHtrack(const AliTRDcluster *cl,const Double_t dqdl,const Int_t *group,const Int_t row,const Int_t col,const AliTRDcluster *cls=0x0);
     321             :           void     FillCH2d(Int_t x, Float_t y);
     322             : 
     323             :   // Calibration on DAQ
     324             : 
     325             :           Int_t    FillDAQ(Double_t phvalue[16][144][36]);
     326             :           Bool_t   UpdateDAQ(Int_t det, Int_t /*row*/, Int_t /*col*/, Int_t timebin, Float_t signal, Int_t nbtimebins);
     327             :           
     328             :  // row col calibration groups stuff
     329             :           Bool_t   LocalisationDetectorXbins(Int_t detector);
     330             :           Int_t    CalculateTotalNumberOfBins(Int_t i);
     331             :           void     CheckGoodTrackletV0(const Int_t detector,const Int_t row,const Int_t col);
     332             :           void     CheckGoodTrackletV1(const AliTRDcluster *cl);
     333             :           Int_t    CalculateCalibrationGroup(Int_t i, Int_t row, Int_t col) const;
     334             :           
     335             :   // Clear
     336             :           void     ClearHistos();
     337             :       
     338             :   // Some basic geometry function
     339             :   virtual Int_t    GetLayer(Int_t d) const;
     340             :   virtual Int_t    GetStack(Int_t d) const;
     341             :   virtual Int_t    GetSector(Int_t d) const;
     342             :           
     343             :           
     344             :   // Instance of this class and so on
     345             :   static  AliTRDCalibraFillHisto *fgInstance;                // Instance
     346             :   static  Bool_t   fgTerminated;                             // If terminated
     347             : 
     348             :  private:
     349             :   
     350             :   // This is a singleton, contructor is private!
     351             :   AliTRDCalibraFillHisto();
     352             :   virtual ~AliTRDCalibraFillHisto(); 
     353             :     
     354          48 :   ClassDef(AliTRDCalibraFillHisto,8)                         // TRD Calibration class
     355             : 
     356             : };
     357             :   
     358             : #endif
     359             : 
     360             : 

Generated by: LCOV version 1.11