ROOT logo
#ifndef ALIDNDPTCORRECTION_H
#define ALIDNDPTCORRECTION_H

//------------------------------------------------------------------------------
// AlidNdPtCorrection class to correct and
// normalised dNdPt spectra. 
//
// Author: J.Otwinowski 04/11/2008 
//------------------------------------------------------------------------------

class iostream;
class TFile;
class TCint;
class TFolder;
class TObjArray;
class TString;
class THnSparse;

class AliESDtrackCuts;
class AliVertexerTracks;
class AliESD;
class AliESDfriend;
class AliESDfriendTrack;

class AlidNdPtEventCuts;
class AlidNdPtAcceptanceCuts;
class AlidNdPtCorrection;
class AlidNdPt;
class AlidNdPtHelper;

#include "AlidNdPt.h"

class AlidNdPtCorrection : public AlidNdPt {
public :
  AlidNdPtCorrection(); 
  AlidNdPtCorrection(Char_t* name, Char_t* title, TString corrMatrixFileName="ala.root");
  ~AlidNdPtCorrection();

  // Init data members
  virtual void Init();

  // Process events
  virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0);

  // Merge output objects (needed by PROOF) 
  virtual Long64_t Merge(TCollection* const list);

  // Analyse output histograms 
  virtual void Analyse();

  // Export objects to folder
  virtual TFolder *ExportToFolder(TObjArray * const array=0);

  // Get analysis folder
  TFolder* GetCorrectionFolder() const {return fCorrectionFolder;}

  // Create folder for analysed histograms
  TFolder *CreateFolder(TString folder = "folderdNdPtCorrection",TString title = "Analysed dNdPt histograms");

  // Fill histograms
  void FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack, AlidNdPtHelper::TrackObject trackObj, Double_t zv, Int_t multRec, Int_t trueMult) const;
  void FillHistograms(AliStack *const stack, Int_t label, AlidNdPtHelper::TrackObject trackObj, Int_t multRec) const;
  void FillHistograms(AlidNdPtHelper::EventObject eventObj, Double_t zv, Int_t multMBRec) const;

  // Get correction factors
  Double_t GetCorrFactZvPtEta(THnSparse *const hist=0, Double_t zv =0, Double_t pt=0, Double_t eta=0) const;
  Double_t GetContFactZvPtEta(THnSparse *const hist=0, Double_t zv =0, Double_t pt=0, Double_t eta=0) const;
  Double_t GetCorrFactZvMult(THnSparse *const hist=0, Double_t zv =0, Int_t mult=0) const;
  Double_t GetContFactZvMult(THnSparse *const hist=0, Double_t zv =0, Int_t mult=0) const;

  // Getters
  THnSparseF *GetMCEventHist1() const { return fMCEventHist1;};
  THnSparseF *GetRecEventHist1() const { return fRecEventHist1;};
  THnSparseF *GetRecEventMultHist1() const { return fRecEventMultHist1;};

  THnSparseF *GetMCAllEventMultHist1() const {return fMCAllEventMultHist1;}; 
  THnSparseF *GetMCAllNDEventMultHist1() const {return fMCAllNDEventMultHist1;}; 
  THnSparseF *GetMCAllNSDEventMultHist1() const {return fMCAllNSDEventMultHist1;}; 
  THnSparseF *GetMCTriggerMultHist1() const {return fMCTriggerMultHist1;}; 
  THnSparseF *GetMCEventMultHist1() const {return fMCEventMultHist1;}; 

  THnSparseF *GetMCAllPrimTrackMultHist1() const {return fMCAllPrimTrackMultHist1;}; 
  THnSparseF *GetMCNDEventAllPrimTrackMultHist1() const {return fMCNDEventAllPrimTrackMultHist1;}; 
  THnSparseF *GetMCNSDEventAllPrimTrackMultHist1() const {return fMCNSDEventAllPrimTrackMultHist1;}; 
  THnSparseF *GetMCTriggerPrimTrackMultHist1() const {return fMCTriggerPrimTrackMultHist1;}; 
  THnSparseF *GetMCEventPrimTrackMultHist1() const {return fMCEventPrimTrackMultHist1;}; 

  THnSparseF *GetMCAllPrimTrackTrueMultHist1() const {return fMCAllPrimTrackTrueMultHist1;}; 
  THnSparseF *GetMCNDEventAllPrimTrackTrueMultHist1() const {return fMCNDEventAllPrimTrackTrueMultHist1;}; 
  THnSparseF *GetMCNSDEventAllPrimTrackTrueMultHist1() const {return fMCNSDEventAllPrimTrackTrueMultHist1;}; 
  THnSparseF *GetMCTriggerPrimTrackTrueMultHist1() const {return fMCTriggerPrimTrackTrueMultHist1;}; 
  THnSparseF *GetMCEventPrimTrackTrueMultHist1() const {return fMCEventPrimTrackTrueMultHist1;}; 

  THnSparseF *GetMCAllPrimTrackTrueMultHist2() const {return fMCAllPrimTrackTrueMultHist2;}; 
  THnSparseF *GetMCNDEventAllPrimTrackTrueMultHist2() const {return fMCNDEventAllPrimTrackTrueMultHist2;}; 
  THnSparseF *GetMCNSDEventAllPrimTrackTrueMultHist2() const {return fMCNSDEventAllPrimTrackTrueMultHist2;}; 
  THnSparseF *GetMCTriggerPrimTrackTrueMultHist2() const {return fMCTriggerPrimTrackTrueMultHist2;}; 
  THnSparseF *GetMCEventPrimTrackTrueMultHist2() const {return fMCEventPrimTrackTrueMultHist2;}; 

  THnSparseF *GetMCAllPrimTrackMeanPtMult1() const {return fMCAllPrimTrackMeanPtMult1;}; 
  THnSparseF *GetMCNDEventAllPrimTrackMeanPtMult1() const {return fMCNDEventAllPrimTrackMeanPtMult1;}; 
  THnSparseF *GetMCNSDEventAllPrimTrackMeanPtMult1() const {return fMCNSDEventAllPrimTrackMeanPtMult1;}; 
  THnSparseF *GetMCTriggerPrimTrackMeanPtMult1() const {return fMCTriggerPrimTrackMeanPtMult1;}; 
  THnSparseF *GetMCEventPrimTrackMeanPtMult1() const {return fMCEventPrimTrackMeanPtMult1;}; 

  THnSparseF *GetMCAllPrimTrackMeanPtTrueMult1() const {return fMCAllPrimTrackMeanPtTrueMult1;}; 
  THnSparseF *GetMCNDEventAllPrimTrackMeanPtTrueMult1() const {return fMCNDEventAllPrimTrackMeanPtTrueMult1;}; 
  THnSparseF *GetMCNSDEventAllPrimTrackMeanPtTrueMult1() const {return fMCNSDEventAllPrimTrackMeanPtTrueMult1;}; 
  THnSparseF *GetMCTriggerPrimTrackMeanPtTrueMult1() const {return fMCTriggerPrimTrackMeanPtTrueMult1;}; 
  THnSparseF *GetMCEventPrimTrackMeanPtTrueMult1() const {return fMCEventPrimTrackMeanPtTrueMult1;};

  THnSparseF *GetCorrRecTrackMultHist1(Int_t i) const {return fCorrRecTrackMultHist1[i];}
  THnSparseF *GetCorrRecTrackTrueMultHist1(Int_t i) const {return fCorrRecTrackTrueMultHist1[i];}
  THnSparseF *GetCorrRecTrackTrueMultHist2(Int_t i) const {return fCorrRecTrackTrueMultHist2[i];}
  THnSparseF *GetCorrRecTrackMeanPtMultHist1(Int_t i) const {return fCorrRecTrackMeanPtMultHist1[i];}
  THnSparseF *GetCorrRecTrackMeanPtTrueMultHist1(Int_t i) const {return fCorrRecTrackMeanPtTrueMultHist1[i];}
  THnSparseF *GetCorrRecTrackPt1(Int_t i) const {return fCorrRecTrackPt1[i];}

  THnSparseF *GetCorrRecEventHist1(Int_t i) const {return fCorrRecEventHist1[i];}
  THnSparseF *GetCorrRecEventHist2(Int_t i) const {return fCorrRecEventHist2[i];}

  THnSparseF *GetEventCount()   const {return fEventCount;}

  // correlation matrix
  void SetEventMultCorrelationMatrix(THnSparseF *const matrix=0) {fEventMultCorrelationMatrix = matrix;}
  THnSparseF *GetEventMultCorrelationMatrix() const {return fEventMultCorrelationMatrix;}

  //
  void SetZvNorm(TH1D *const matrix=0) {fZvNorm = matrix;}
  TH1D *GetZvNorm() const {return fZvNorm;}

  void SetZvEmptyEventsNorm(TH1D *const matrix=0) {fZvEmptyEventsNorm = matrix;}
  TH1D *GetZvEmptyEventsNorm() const {return fZvEmptyEventsNorm;}

  void SetLHCBin0Background(TH1D *const matrix=0) {fLHCBin0Background = matrix;}
  TH1D *GetLHCBin0Background() const {return fLHCBin0Background;}
  // 
  void SetCorrEventMatrix(THnSparseF *const matrix=0) {fCorrEventMatrix = matrix;}
  THnSparseF *GetCorrEventMatrix() const {return fCorrEventMatrix;}

  void SetCorrTriggerMBtoInelEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoInelEventMatrix = matrix;}
  THnSparseF *GetCorrTriggerMBtoInelEventMatrix() const {return fCorrTriggerMBtoInelEventMatrix;}

  void SetCorrTriggerMBtoNDEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNDEventMatrix = matrix;}
  THnSparseF *GetCorrTriggerMBtoNDEventMatrix() const {return fCorrTriggerMBtoNDEventMatrix;}

  void SetCorrTriggerMBtoNSDEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNSDEventMatrix = matrix;}
  THnSparseF *GetCorrTriggerMBtoNSDEventMatrix() const {return fCorrTriggerMBtoNSDEventMatrix;}

  // 
  void SetCorrTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTrackEventMatrix = matrix;}
  THnSparseF *GetCorrTrackEventMatrix() const {return fCorrTrackEventMatrix;}

  void SetCorrTriggerMBtoInelTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoInelTrackEventMatrix = matrix;}
  THnSparseF *GetCorrTriggerMBtoInelTrackEventMatrix() const {return fCorrTriggerMBtoInelTrackEventMatrix;}

  void SetCorrTriggerMBtoNDTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNDTrackEventMatrix = matrix;}
  THnSparseF *GetCorrTriggerMBtoNDTrackEventMatrix() const {return fCorrTriggerMBtoNDTrackEventMatrix;}

  void SetCorrTriggerMBtoNSDTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNSDTrackEventMatrix = matrix;}
  THnSparseF *GetCorrTriggerMBtoNSDTrackEventMatrix() const {return fCorrTriggerMBtoNSDTrackEventMatrix;}

  void SetCorrTrackMatrix(THnSparseF *const matrix=0) {fCorrTrackMatrix = matrix;}
  THnSparseF *GetCorrTrackMatrix() const {return fCorrTrackMatrix;}

  void SetCorrHighPtTrackMatrix(THnSparseF *const matrix=0) {fCorrHighPtTrackMatrix = matrix;}
  THnSparseF *GetCorrHighPtTrackMatrix() const {return fCorrHighPtTrackMatrix;}

  void SetContTrackMatrix(THnSparseF *const matrix=0) {fContTrackMatrix = matrix;}
  THnSparseF *GetContTrackMatrix() const {return fContTrackMatrix;}

  void SetContMultTrackMatrix(THnSparseF *const matrix=0) {fContMultTrackMatrix = matrix;}
  THnSparseF *GetContMultTrackMatrix() const {return fContMultTrackMatrix;}

  void SetCorrMatrixFileName(TString name="")    { fCorrMatrixFileName = name; }

  Int_t GetTrueMult(THnSparse *const hist=0, Int_t mult=0) const;

private:

  // analysis folder 
  TFolder *fCorrectionFolder; // folder for analysed histograms

  //
  // event histograms
  //
  THnSparseF *fMCEventHist1;  //-> mcXv:mcYv:mcZv
  THnSparseF *fRecEventHist1; //-> Xv:Yv:Zv
  THnSparseF *fRecEventMultHist1; //-> track multiplicity:tracklet multiplicity

  // all MC events
  THnSparseF *fMCAllEventMultHist1; //-> mcZv:multiplicity

  // all ND MC events
  THnSparseF *fMCAllNDEventMultHist1; //-> mcZv:multiplicity

  // all NSD MC events
  THnSparseF *fMCAllNSDEventMultHist1; //-> mcZv:multiplicity

  // MC triggered events
  THnSparseF *fMCTriggerMultHist1; //-> mcZv:multiplicity

  // MC triggered and event vertex
  THnSparseF *fMCEventMultHist1; //-> mcZv:multiplicity

  //
  // track histograms
  //
  
  // all mc primary tracks in acceptance (INEL)
  THnSparseF *fMCAllPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity

  // all mc primary tracks in acceptance (ND events)
  THnSparseF *fMCNDEventAllPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity

  // all mc primary tracks in acceptance (NSD events)
  THnSparseF *fMCNSDEventAllPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity

  // all mc primary tracks in acceptance (triggered events)
  THnSparseF *fMCTriggerPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity

  // mc primary tracks in acceptance (triggered and event vertex reconstructed)
  THnSparseF *fMCEventPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity

  // true multiplicity 
  THnSparseF *fMCAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
  THnSparseF *fMCNDEventAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
  THnSparseF *fMCNSDEventAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
  THnSparseF *fMCTriggerPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
  THnSparseF *fMCEventPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity

  // mcPT multiplicity vs true multiplicity 
  THnSparseF *fMCAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
  THnSparseF *fMCNDEventAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
  THnSparseF *fMCNSDEventAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
  THnSparseF *fMCTriggerPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
  THnSparseF *fMCEventPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity


  //
  // mc <pt> from the event
  //

  THnSparseF *fMCAllPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
  THnSparseF *fMCNDEventAllPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
  THnSparseF *fMCNSDEventAllPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
  THnSparseF *fMCTriggerPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
  THnSparseF *fMCEventPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity

  // true multiplicity 

  THnSparseF *fMCAllPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
  THnSparseF *fMCNDEventAllPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
  THnSparseF *fMCNSDEventAllPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
  THnSparseF *fMCTriggerPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
  THnSparseF *fMCEventPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity


  // track histograms 
  // [0]=all charged tracks, 
  // [1]=[0]+fiducual volume, 
  // [2]=[1]+after esd track cuts 
  THnSparseF *fRecTrackHist1[AlidNdPtHelper::kCutSteps]; //-> Pt:Eta:Phi

  // corrected track histograms 
  // ([0]-not corrected,
  // [1]=track cont.,
  // [2]=[1]+track eff.,
  // [3]=[2]+multple track,
  // [4]=[3]+event vertex,
  // [5]=[4]+trigger MBtoInel,
  // [6]=[4]+trigger MBtoND, 
  // [7]=[4]+trigger MBToNSD)
  THnSparseF *fCorrRecTrackMultHist1[8]; //-> Pt:Eta:mult corrected histograms 
  THnSparseF *fCorrRecTrackTrueMultHist1[8]; //-> Pt:Eta:trueMult corrected histograms
  THnSparseF *fCorrRecTrackTrueMultHist2[8]; //-> Pt:mult:trueMult corrected histograms

  // <pt> vs multiplicity from the event
  THnSparseF *fCorrRecTrackMeanPtMultHist1[8]; //-> <Pt>:mult corrected histograms
  THnSparseF *fCorrRecTrackMeanPtTrueMultHist1[8]; //-> <Pt>:trueMult corrected histograms

  THnSparseF *fCorrRecTrackPt1[8]; //-> Pt corrected histograms in the event (helper histograms)

  // corrected event histograms
  // [0]-not corrected, 
  // [1]=event vertex, 
  // [2]=[1]+trigger MBtoInel, 
  // [3]=[1]+trigger MBtoND, 
  // [4]=[1]+trigger MBtoNSD 
  THnSparseF *fCorrRecEventHist1[5]; //-> mcZv:multMB 


  // corrected event histograms (empty events)
  // [0]=not corrected,
  // [1]=trigger/trigger+vertex correction,
  // [2]=[1]+trigger MBtoInel,
  // [3]=[1]+trigger MBtoND,
  // [4]=[1]+trigger MBtoNSD
  THnSparseF *fCorrRecEventHist2[5]; //-> mcZv:multMB


  // 
  // correction matrices (histograms)
  // must be loaded
  //

  // event rec. track vs true track multiplicity correlation matrix 
  THnSparseF *fEventMultCorrelationMatrix; //-> mult:mult_true_tracks

  // histograms needed for empty events corrections
  TH1D *fZvNorm; //-> normalised reconstructed zv distribution
  TH1D *fZvEmptyEventsNorm; //-> trigger/trigger+vertex empty event correction

  // LHC background correction in 0-bin
  TH1D *fLHCBin0Background; //-> good / accepted in the 0-bin

  // trigger bias corrections
  THnSparseF *fCorrTriggerMBtoInelEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerEventMatrix / fGenEventMatrix)
  THnSparseF *fCorrTriggerMBtoNDEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerEventMatrix / fGenNDEventMatrix)
  THnSparseF *fCorrTriggerMBtoNSDEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerEventMatrix / fGenNSDEventMatrix)

  // event vertex corrections
  THnSparseF *fCorrEventMatrix;  //-> mcVz:mcPt:mcEta   (fRecEventMatrix/fTriggerEventMatrix)

  // track-event trigger bias corrections
  THnSparseF *fCorrTriggerMBtoInelTrackEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerTrackEventMatrix / fGenTrackEventMatrix)
  THnSparseF *fCorrTriggerMBtoNDTrackEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerTrackEventMatrix / fGenTrackEventNDMatrix)
  THnSparseF *fCorrTriggerMBtoNSDTrackEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerTrackEventMatrix / fGenTrackEventNSDMatrix)

  // track-event vertex corrections
  THnSparseF *fCorrTrackEventMatrix;  //-> mcVz:mcPt:mcEta   (fRecTrackEventMatrix/fTriggerTrackEventMatrix)

  // track-level corrections
  THnSparseF *fCorrTrackMatrix;  //-> mcVz:mcPt:mcEta (fRecPrimTrackMatrix / fGenPrimTrackMatrix)
  THnSparseF *fCorrHighPtTrackMatrix;  //-> mcVz:mcPt:mcEta (fRecPrimTrackMatrix / fGenPrimTrackMatrix high pt tracks)
  THnSparseF *fContTrackMatrix;  //-> mcVz:mcPt:mcEta (fRecSecTrackMatrix / fRecTrackMatrix)
  THnSparseF *fContMultTrackMatrix; //-> mcVz:mcPt:mcEta (fRecMultTrackMatrix / fRecTrackMatrix)
  
  TString fCorrMatrixFileName; // file with efficiency correction matrices

  //  deta, dphi, pt1 for cosmics
  THnSparseF *fCosmicsHisto; //-> deta:dphi:pt
  
  THnSparseF *fEventCount; //-> trig, trig + vertex, selected event

  AlidNdPtCorrection(const AlidNdPtCorrection&); // not implemented
  AlidNdPtCorrection& operator=(const AlidNdPtCorrection&); // not implemented

  ClassDef(AlidNdPtCorrection,3);
};

#endif
 AlidNdPtCorrection.h:1
 AlidNdPtCorrection.h:2
 AlidNdPtCorrection.h:3
 AlidNdPtCorrection.h:4
 AlidNdPtCorrection.h:5
 AlidNdPtCorrection.h:6
 AlidNdPtCorrection.h:7
 AlidNdPtCorrection.h:8
 AlidNdPtCorrection.h:9
 AlidNdPtCorrection.h:10
 AlidNdPtCorrection.h:11
 AlidNdPtCorrection.h:12
 AlidNdPtCorrection.h:13
 AlidNdPtCorrection.h:14
 AlidNdPtCorrection.h:15
 AlidNdPtCorrection.h:16
 AlidNdPtCorrection.h:17
 AlidNdPtCorrection.h:18
 AlidNdPtCorrection.h:19
 AlidNdPtCorrection.h:20
 AlidNdPtCorrection.h:21
 AlidNdPtCorrection.h:22
 AlidNdPtCorrection.h:23
 AlidNdPtCorrection.h:24
 AlidNdPtCorrection.h:25
 AlidNdPtCorrection.h:26
 AlidNdPtCorrection.h:27
 AlidNdPtCorrection.h:28
 AlidNdPtCorrection.h:29
 AlidNdPtCorrection.h:30
 AlidNdPtCorrection.h:31
 AlidNdPtCorrection.h:32
 AlidNdPtCorrection.h:33
 AlidNdPtCorrection.h:34
 AlidNdPtCorrection.h:35
 AlidNdPtCorrection.h:36
 AlidNdPtCorrection.h:37
 AlidNdPtCorrection.h:38
 AlidNdPtCorrection.h:39
 AlidNdPtCorrection.h:40
 AlidNdPtCorrection.h:41
 AlidNdPtCorrection.h:42
 AlidNdPtCorrection.h:43
 AlidNdPtCorrection.h:44
 AlidNdPtCorrection.h:45
 AlidNdPtCorrection.h:46
 AlidNdPtCorrection.h:47
 AlidNdPtCorrection.h:48
 AlidNdPtCorrection.h:49
 AlidNdPtCorrection.h:50
 AlidNdPtCorrection.h:51
 AlidNdPtCorrection.h:52
 AlidNdPtCorrection.h:53
 AlidNdPtCorrection.h:54
 AlidNdPtCorrection.h:55
 AlidNdPtCorrection.h:56
 AlidNdPtCorrection.h:57
 AlidNdPtCorrection.h:58
 AlidNdPtCorrection.h:59
 AlidNdPtCorrection.h:60
 AlidNdPtCorrection.h:61
 AlidNdPtCorrection.h:62
 AlidNdPtCorrection.h:63
 AlidNdPtCorrection.h:64
 AlidNdPtCorrection.h:65
 AlidNdPtCorrection.h:66
 AlidNdPtCorrection.h:67
 AlidNdPtCorrection.h:68
 AlidNdPtCorrection.h:69
 AlidNdPtCorrection.h:70
 AlidNdPtCorrection.h:71
 AlidNdPtCorrection.h:72
 AlidNdPtCorrection.h:73
 AlidNdPtCorrection.h:74
 AlidNdPtCorrection.h:75
 AlidNdPtCorrection.h:76
 AlidNdPtCorrection.h:77
 AlidNdPtCorrection.h:78
 AlidNdPtCorrection.h:79
 AlidNdPtCorrection.h:80
 AlidNdPtCorrection.h:81
 AlidNdPtCorrection.h:82
 AlidNdPtCorrection.h:83
 AlidNdPtCorrection.h:84
 AlidNdPtCorrection.h:85
 AlidNdPtCorrection.h:86
 AlidNdPtCorrection.h:87
 AlidNdPtCorrection.h:88
 AlidNdPtCorrection.h:89
 AlidNdPtCorrection.h:90
 AlidNdPtCorrection.h:91
 AlidNdPtCorrection.h:92
 AlidNdPtCorrection.h:93
 AlidNdPtCorrection.h:94
 AlidNdPtCorrection.h:95
 AlidNdPtCorrection.h:96
 AlidNdPtCorrection.h:97
 AlidNdPtCorrection.h:98
 AlidNdPtCorrection.h:99
 AlidNdPtCorrection.h:100
 AlidNdPtCorrection.h:101
 AlidNdPtCorrection.h:102
 AlidNdPtCorrection.h:103
 AlidNdPtCorrection.h:104
 AlidNdPtCorrection.h:105
 AlidNdPtCorrection.h:106
 AlidNdPtCorrection.h:107
 AlidNdPtCorrection.h:108
 AlidNdPtCorrection.h:109
 AlidNdPtCorrection.h:110
 AlidNdPtCorrection.h:111
 AlidNdPtCorrection.h:112
 AlidNdPtCorrection.h:113
 AlidNdPtCorrection.h:114
 AlidNdPtCorrection.h:115
 AlidNdPtCorrection.h:116
 AlidNdPtCorrection.h:117
 AlidNdPtCorrection.h:118
 AlidNdPtCorrection.h:119
 AlidNdPtCorrection.h:120
 AlidNdPtCorrection.h:121
 AlidNdPtCorrection.h:122
 AlidNdPtCorrection.h:123
 AlidNdPtCorrection.h:124
 AlidNdPtCorrection.h:125
 AlidNdPtCorrection.h:126
 AlidNdPtCorrection.h:127
 AlidNdPtCorrection.h:128
 AlidNdPtCorrection.h:129
 AlidNdPtCorrection.h:130
 AlidNdPtCorrection.h:131
 AlidNdPtCorrection.h:132
 AlidNdPtCorrection.h:133
 AlidNdPtCorrection.h:134
 AlidNdPtCorrection.h:135
 AlidNdPtCorrection.h:136
 AlidNdPtCorrection.h:137
 AlidNdPtCorrection.h:138
 AlidNdPtCorrection.h:139
 AlidNdPtCorrection.h:140
 AlidNdPtCorrection.h:141
 AlidNdPtCorrection.h:142
 AlidNdPtCorrection.h:143
 AlidNdPtCorrection.h:144
 AlidNdPtCorrection.h:145
 AlidNdPtCorrection.h:146
 AlidNdPtCorrection.h:147
 AlidNdPtCorrection.h:148
 AlidNdPtCorrection.h:149
 AlidNdPtCorrection.h:150
 AlidNdPtCorrection.h:151
 AlidNdPtCorrection.h:152
 AlidNdPtCorrection.h:153
 AlidNdPtCorrection.h:154
 AlidNdPtCorrection.h:155
 AlidNdPtCorrection.h:156
 AlidNdPtCorrection.h:157
 AlidNdPtCorrection.h:158
 AlidNdPtCorrection.h:159
 AlidNdPtCorrection.h:160
 AlidNdPtCorrection.h:161
 AlidNdPtCorrection.h:162
 AlidNdPtCorrection.h:163
 AlidNdPtCorrection.h:164
 AlidNdPtCorrection.h:165
 AlidNdPtCorrection.h:166
 AlidNdPtCorrection.h:167
 AlidNdPtCorrection.h:168
 AlidNdPtCorrection.h:169
 AlidNdPtCorrection.h:170
 AlidNdPtCorrection.h:171
 AlidNdPtCorrection.h:172
 AlidNdPtCorrection.h:173
 AlidNdPtCorrection.h:174
 AlidNdPtCorrection.h:175
 AlidNdPtCorrection.h:176
 AlidNdPtCorrection.h:177
 AlidNdPtCorrection.h:178
 AlidNdPtCorrection.h:179
 AlidNdPtCorrection.h:180
 AlidNdPtCorrection.h:181
 AlidNdPtCorrection.h:182
 AlidNdPtCorrection.h:183
 AlidNdPtCorrection.h:184
 AlidNdPtCorrection.h:185
 AlidNdPtCorrection.h:186
 AlidNdPtCorrection.h:187
 AlidNdPtCorrection.h:188
 AlidNdPtCorrection.h:189
 AlidNdPtCorrection.h:190
 AlidNdPtCorrection.h:191
 AlidNdPtCorrection.h:192
 AlidNdPtCorrection.h:193
 AlidNdPtCorrection.h:194
 AlidNdPtCorrection.h:195
 AlidNdPtCorrection.h:196
 AlidNdPtCorrection.h:197
 AlidNdPtCorrection.h:198
 AlidNdPtCorrection.h:199
 AlidNdPtCorrection.h:200
 AlidNdPtCorrection.h:201
 AlidNdPtCorrection.h:202
 AlidNdPtCorrection.h:203
 AlidNdPtCorrection.h:204
 AlidNdPtCorrection.h:205
 AlidNdPtCorrection.h:206
 AlidNdPtCorrection.h:207
 AlidNdPtCorrection.h:208
 AlidNdPtCorrection.h:209
 AlidNdPtCorrection.h:210
 AlidNdPtCorrection.h:211
 AlidNdPtCorrection.h:212
 AlidNdPtCorrection.h:213
 AlidNdPtCorrection.h:214
 AlidNdPtCorrection.h:215
 AlidNdPtCorrection.h:216
 AlidNdPtCorrection.h:217
 AlidNdPtCorrection.h:218
 AlidNdPtCorrection.h:219
 AlidNdPtCorrection.h:220
 AlidNdPtCorrection.h:221
 AlidNdPtCorrection.h:222
 AlidNdPtCorrection.h:223
 AlidNdPtCorrection.h:224
 AlidNdPtCorrection.h:225
 AlidNdPtCorrection.h:226
 AlidNdPtCorrection.h:227
 AlidNdPtCorrection.h:228
 AlidNdPtCorrection.h:229
 AlidNdPtCorrection.h:230
 AlidNdPtCorrection.h:231
 AlidNdPtCorrection.h:232
 AlidNdPtCorrection.h:233
 AlidNdPtCorrection.h:234
 AlidNdPtCorrection.h:235
 AlidNdPtCorrection.h:236
 AlidNdPtCorrection.h:237
 AlidNdPtCorrection.h:238
 AlidNdPtCorrection.h:239
 AlidNdPtCorrection.h:240
 AlidNdPtCorrection.h:241
 AlidNdPtCorrection.h:242
 AlidNdPtCorrection.h:243
 AlidNdPtCorrection.h:244
 AlidNdPtCorrection.h:245
 AlidNdPtCorrection.h:246
 AlidNdPtCorrection.h:247
 AlidNdPtCorrection.h:248
 AlidNdPtCorrection.h:249
 AlidNdPtCorrection.h:250
 AlidNdPtCorrection.h:251
 AlidNdPtCorrection.h:252
 AlidNdPtCorrection.h:253
 AlidNdPtCorrection.h:254
 AlidNdPtCorrection.h:255
 AlidNdPtCorrection.h:256
 AlidNdPtCorrection.h:257
 AlidNdPtCorrection.h:258
 AlidNdPtCorrection.h:259
 AlidNdPtCorrection.h:260
 AlidNdPtCorrection.h:261
 AlidNdPtCorrection.h:262
 AlidNdPtCorrection.h:263
 AlidNdPtCorrection.h:264
 AlidNdPtCorrection.h:265
 AlidNdPtCorrection.h:266
 AlidNdPtCorrection.h:267
 AlidNdPtCorrection.h:268
 AlidNdPtCorrection.h:269
 AlidNdPtCorrection.h:270
 AlidNdPtCorrection.h:271
 AlidNdPtCorrection.h:272
 AlidNdPtCorrection.h:273
 AlidNdPtCorrection.h:274
 AlidNdPtCorrection.h:275
 AlidNdPtCorrection.h:276
 AlidNdPtCorrection.h:277
 AlidNdPtCorrection.h:278
 AlidNdPtCorrection.h:279
 AlidNdPtCorrection.h:280
 AlidNdPtCorrection.h:281
 AlidNdPtCorrection.h:282
 AlidNdPtCorrection.h:283
 AlidNdPtCorrection.h:284
 AlidNdPtCorrection.h:285
 AlidNdPtCorrection.h:286
 AlidNdPtCorrection.h:287
 AlidNdPtCorrection.h:288
 AlidNdPtCorrection.h:289
 AlidNdPtCorrection.h:290
 AlidNdPtCorrection.h:291
 AlidNdPtCorrection.h:292
 AlidNdPtCorrection.h:293
 AlidNdPtCorrection.h:294
 AlidNdPtCorrection.h:295
 AlidNdPtCorrection.h:296
 AlidNdPtCorrection.h:297
 AlidNdPtCorrection.h:298
 AlidNdPtCorrection.h:299
 AlidNdPtCorrection.h:300
 AlidNdPtCorrection.h:301
 AlidNdPtCorrection.h:302
 AlidNdPtCorrection.h:303
 AlidNdPtCorrection.h:304
 AlidNdPtCorrection.h:305
 AlidNdPtCorrection.h:306
 AlidNdPtCorrection.h:307
 AlidNdPtCorrection.h:308
 AlidNdPtCorrection.h:309
 AlidNdPtCorrection.h:310
 AlidNdPtCorrection.h:311
 AlidNdPtCorrection.h:312
 AlidNdPtCorrection.h:313
 AlidNdPtCorrection.h:314
 AlidNdPtCorrection.h:315
 AlidNdPtCorrection.h:316
 AlidNdPtCorrection.h:317
 AlidNdPtCorrection.h:318
 AlidNdPtCorrection.h:319
 AlidNdPtCorrection.h:320
 AlidNdPtCorrection.h:321
 AlidNdPtCorrection.h:322
 AlidNdPtCorrection.h:323
 AlidNdPtCorrection.h:324
 AlidNdPtCorrection.h:325
 AlidNdPtCorrection.h:326
 AlidNdPtCorrection.h:327
 AlidNdPtCorrection.h:328
 AlidNdPtCorrection.h:329
 AlidNdPtCorrection.h:330
 AlidNdPtCorrection.h:331
 AlidNdPtCorrection.h:332
 AlidNdPtCorrection.h:333
 AlidNdPtCorrection.h:334
 AlidNdPtCorrection.h:335
 AlidNdPtCorrection.h:336
 AlidNdPtCorrection.h:337
 AlidNdPtCorrection.h:338
 AlidNdPtCorrection.h:339
 AlidNdPtCorrection.h:340
 AlidNdPtCorrection.h:341
 AlidNdPtCorrection.h:342
 AlidNdPtCorrection.h:343
 AlidNdPtCorrection.h:344
 AlidNdPtCorrection.h:345
 AlidNdPtCorrection.h:346
 AlidNdPtCorrection.h:347
 AlidNdPtCorrection.h:348
 AlidNdPtCorrection.h:349
 AlidNdPtCorrection.h:350
 AlidNdPtCorrection.h:351
 AlidNdPtCorrection.h:352