/[PAMELA software]/DarthVader/CalorimeterLevel2/inc/CaloLevel0.h
ViewVC logotype

Diff of /DarthVader/CalorimeterLevel2/inc/CaloLevel0.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by mocchiut, Sun Sep 9 18:57:25 2007 UTC revision 1.11 by mocchiut, Fri Dec 12 16:18:16 2008 UTC
# Line 12  Line 12 
12  #include <PamelaRun.h>  #include <PamelaRun.h>
13  #include <physics/calorimeter/CalorimeterEvent.h>  #include <physics/calorimeter/CalorimeterEvent.h>
14  #include <CalibCalPedEvent.h>  #include <CalibCalPedEvent.h>
15    #include <CalibCalPulse1Event.h>
16    #include <CalibCalPulse2Event.h>
17  //  //
18  #include <CaloCore.h>  #include <CaloCore.h>
19  #include <CaloLevel1.h>  #include <CaloLevel1.h>
# Line 32  class CaloLevel0 : public TObject { Line 34  class CaloLevel0 : public TObject {
34   public:   public:
35      Bool_t debug; ///< debugging flag      Bool_t debug; ///< debugging flag
36      Bool_t verbose; ///< verbose flag      Bool_t verbose; ///< verbose flag
37      Bool_t crosst;      Bool_t crosst; ///< Cross talk correction flag (true apply false do not apply)
38        Bool_t ctground; ///< Cross talk correction type (true ground, false flight)
39        Bool_t noselfct; ///< Pre cross talk correction do not applied to the strip itself
40      //      //
41      // variables in which it is stored the calibration information for the four sections      // variables in which it is stored the calibration information for the four sections
42      //      //
# Line 50  class CaloLevel0 : public TObject { Line 54  class CaloLevel0 : public TObject {
54    
55      void Set(){ de = new CalorimeterEvent(); };          void Set(){ de = new CalorimeterEvent(); };    
56    
57      void Clear(){};      void Clear(Option_t *t=""){};
58      void* GetPointerToCalorimeterEvent(){ return &de; };      void* GetPointerToCalorimeterEvent(){ return &de; };
59      CalorimeterEvent* GetCalorimeterEvent(){ return de; };      CalorimeterEvent* GetCalorimeterEvent(){ return de; };
60      //      //
# Line 72  class CaloLevel0 : public TObject { Line 76  class CaloLevel0 : public TObject {
76      Float_t dexyc[2][22][96]; ///< RAW ADC data      Float_t dexyc[2][22][96]; ///< RAW ADC data
77      Float_t base[2][22][6]; ///< baselines for this event      Float_t base[2][22][6]; ///< baselines for this event
78      Float_t sbase[2][22][6]; ///< saved baselines from previous events      Float_t sbase[2][22][6]; ///< saved baselines from previous events
79        Float_t ctprecor[2][22][6]; ///< 'cross-talk' correction factor for each pre from pulse calibration or table file
80        Float_t ctneigcor[2][22][6]; ///< 'cross-talk' correction factor for each pre, neighbour strips from pulse calibration or table file
81        Float_t ctsicor[2][22][9]; ///< 'cross-talk' correction factor for each silicon detector
82        Int_t maxrms[2][22]; ///< max rms for each plane, strip with higher values are masked
83      //      //
84      // Energy vector      // Energy vector
85      //      //
# Line 83  class CaloLevel0 : public TObject { Line 91  class CaloLevel0 : public TObject {
91      Bool_t calopar1; ///< boolean, is true if parameter set number 101 has already been loaded      Bool_t calopar1; ///< boolean, is true if parameter set number 101 has already been loaded
92      Bool_t calopar2; ///< boolean, is true if parameter set number 102 has already been loaded      Bool_t calopar2; ///< boolean, is true if parameter set number 102 has already been loaded
93      Bool_t calopar3; ///< boolean, is true if parameter set number 103 has already been loaded      Bool_t calopar3; ///< boolean, is true if parameter set number 103 has already been loaded
94        Bool_t calopar4; ///< boolean, is true if parameter set number 103 has already been loaded
95        Bool_t calopar5; ///< boolean, is true if parameter set number 103 has already been loaded
96      UInt_t ftcalopar1; ///< parameter set 101 lower limit validity      UInt_t ftcalopar1; ///< parameter set 101 lower limit validity
97      UInt_t ttcalopar1; ///< parameter set 101 upper limit validity      UInt_t ttcalopar1; ///< parameter set 101 upper limit validity
98      UInt_t ftcalopar2; ///< parameter set 102 lower limit validity      UInt_t ftcalopar2; ///< parameter set 102 lower limit validity
99      UInt_t ttcalopar2; ///< parameter set 102 upper limit validity      UInt_t ttcalopar2; ///< parameter set 102 upper limit validity
100      UInt_t ftcalopar3; ///< parameter set 103 lower limit validity      UInt_t ftcalopar3; ///< parameter set 103 lower limit validity
101      UInt_t ttcalopar3; ///< parameter set 103 upper limit validity      UInt_t ttcalopar3; ///< parameter set 103 upper limit validity
102        UInt_t ftcalopar4; ///< parameter set 103 lower limit validity
103        UInt_t ttcalopar4; ///< parameter set 103 upper limit validity
104        UInt_t ftcalopar5; ///< parameter set 103 lower limit validity
105        UInt_t ttcalopar5; ///< parameter set 103 upper limit validity
106      //      //
     // private methods  
     //  
 /**  
  * \param s calorimeter section.  
 **/  
107      void ClearCalibVals(Int_t s); ///< clear calibration values for section s      void ClearCalibVals(Int_t s); ///< clear calibration values for section s
108      void ClearCommonVar(); ///< clear common variables      void ClearCommonVar(); ///< clear common variables
109      void ClearTrkVar();  ///< clear track-related variables      void ClearTrkVar();  ///< clear track-related variables
110      void FindBaseRaw(Int_t l, Int_t m, Int_t pre); ///< calculate baselines starting from RAW data      void FindBaseRaw(Int_t l, Int_t m, Int_t pre); ///< calculate baselines starting from RAW data
111        void FindBaseCompress(Int_t l, Int_t m, Int_t pre); ///< calculate baselines starting from COMPRESS data
112        void FindBaseRaw(Int_t l, Int_t m, Int_t pre,Int_t &nst, Float_t &qp); ///< calculate baselines starting from RAW data
113        void FindBaseCompress(Int_t l, Int_t m, Int_t pre,Int_t &nst, Float_t &qp); ///< calculate baselines starting from COMPRESS data
114      Int_t Update(GL_TABLES *glt, UInt_t atime, Int_t s); ///< update calibration for this event      Int_t Update(GL_TABLES *glt, UInt_t atime, Int_t s); ///< update calibration for this event
115      Int_t LoadCalib(Int_t s); ///< load calibrations      Int_t LoadCalib(Int_t s); ///< load calibrations
116    
# Line 107  class CaloLevel0 : public TObject { Line 119  class CaloLevel0 : public TObject {
119      //      //
120      Float_t mip[2][22][96]; ///< ADC to MIP conversion values      Float_t mip[2][22][96]; ///< ADC to MIP conversion values
121      Int_t obadmask[2][22][96]; ///< Offline mask of bad strips (not used to calculate baselines and calorimeter variables)            Int_t obadmask[2][22][96]; ///< Offline mask of bad strips (not used to calculate baselines and calorimeter variables)      
122        Int_t obadpulsemask[2][22][96]; ///< Offline mask of bad pulser (not used to calculate crosstalk corrections)      
123      Float_t emin; ///< Offline threshold to separate noise from signal      Float_t emin; ///< Offline threshold to separate noise from signal
124        Float_t memin[2][22][96]; ///< Offline threshold to separate noise from signal
125      //      //
126      // Structures to pass data from/to F77      // Structures to pass data from/to F77
127      //      //
128      struct FlCaLevel1 *clevel1; ///< input structure      struct FlCaLevel1 *clevel1; ///< input structure
129      struct FlCaLevel2 *clevel2; ///< output structure      struct FlCaLevel2 *clevel2; ///< output structure
130    /*      // */
131    /*      struct FlEventi *eventi; */
132    /*      struct FlGruppo *gruppo; */
133    /*      struct FlGruppo2 *gruppo2; */
134    /*      struct FlGruppo4 *gruppo4; */
135    /*      struct FlTaglioen *taglioen; */
136    /*      struct FlAngolo *angolo; */
137    /*      struct FlWhere *where; */
138    /*      struct FlGeneral *general; */
139    /*      struct FlCh *ch; */
140    /*      struct FlCalofit *calofit; */
141    /*      struct FlPawcd *pawcd; */
142    /*      struct FlQuestd *questd; */
143    /*      // */
144      //      //
145      //      //
146      //      //
# Line 121  class CaloLevel0 : public TObject { Line 149  class CaloLevel0 : public TObject {
149      // useful methods      // useful methods
150      //      //
151      Int_t ChkParam(GL_TABLES *glt, UInt_t runheader, Bool_t mech); ///< check and load parameters data      Int_t ChkParam(GL_TABLES *glt, UInt_t runheader, Bool_t mech); ///< check and load parameters data
152        Int_t ChkParam(TSQLServer *dbc, UInt_t runheader, Bool_t mech); ///< check and load parameters data
153        Int_t ChkParamDo(TSQLServer *dbc, UInt_t runheader, Bool_t mech); ///< check and load parameters data
154      Int_t ChkCalib(GL_TABLES *glt, UInt_t atime); ///< check and load calibration data      Int_t ChkCalib(GL_TABLES *glt, UInt_t atime); ///< check and load calibration data
155        Int_t CalcCrossTalkCorr(GL_TABLES *glt, UInt_t runheader); ///< calculate the cross talk corretion using CaloPulse information from flight calibrations
156        Int_t CalcCrossTalkCorr(TSQLServer *dbc, UInt_t runheader); ///< calculate the cross talk corretion using CaloPulse information from flight calibrations
157        Int_t CalcCrossTalkCorr(GL_TABLES *glt, UInt_t runheader, Bool_t usetable); ///< calculate the cross talk corretion using CaloPulse information from flight calibrations
158        Int_t CalcCrossTalkCorr(TSQLServer *dbc, UInt_t runheader, Bool_t usetable); ///< calculate the cross talk corretion using CaloPulse information from flight calibrations
159        Int_t CalcCrossTalkCorrDo(TSQLServer *dbc, UInt_t runheader, Bool_t usetable); ///< calculate the cross talk corretion using CaloPulse information from flight calibrations
160      Int_t Calibrate(Int_t ei); ///< perform data calibration      Int_t Calibrate(Int_t ei); ///< perform data calibration
161      void GetCommonVar(); ///< call fortran common variables program      void GetCommonVar(); ///< call fortran common variables program
162      void GetTrkVar(); ///< call fortran track-related variables program      void GetTrkVar(); ///< call fortran track-related variables program
# Line 130  class CaloLevel0 : public TObject { Line 165  class CaloLevel0 : public TObject {
165      void FillTrkVar(CaloLevel2 *ca, Int_t nutrk); ///< copy track-related variables from structure to class      void FillTrkVar(CaloLevel2 *ca, Int_t nutrk); ///< copy track-related variables from structure to class
166      void RunClose(); ///< clear variables which could change from one run to another      void RunClose(); ///< clear variables which could change from one run to another
167      void SetCrossTalk(Bool_t ct);      void SetCrossTalk(Bool_t ct);
168        void SetCrossTalkType(Bool_t ct);
169        void SetCrossTalkType(Int_t ct);
170      void SetVerbose(Bool_t ct);      void SetVerbose(Bool_t ct);
171      //      //
172      // constructor      // constructor
173      //      //
174      CaloLevel0(); ///< contructor      CaloLevel0(); ///< contructor
175        void Delete(Option_t *t=""); //ELENA
176      void ProcessingInit(GL_TABLES *glt, UInt_t hs, Int_t &sgnl, TTree *l0tree, Bool_t debug, Bool_t verbose); ///< initialize caloprocessing object      void ProcessingInit(GL_TABLES *glt, UInt_t hs, Int_t &sgnl, TTree *l0tree, Bool_t debug, Bool_t verbose); ///< initialize caloprocessing object
177        void ProcessingInit(TSQLServer *dbc, UInt_t hs, Int_t &sgnl, TTree *l0tree, Bool_t debug, Bool_t verbose); ///< initialize caloprocessing object
178        void InitDo(TSQLServer *dbc, UInt_t hs, Int_t &sgnl, TTree *l0tree, Bool_t debug, Bool_t verbose); ///< initialize caloprocessing object
179      //      //
180      // destructor      // destructor
181      //      //
182      ~CaloLevel0();///< destructor      ~CaloLevel0();///< destructor
183      //      //
184      ClassDef(CaloLevel0,1);      ClassDef(CaloLevel0,4);
185  };  };
186    
187  #endif  #endif

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.23