/[PAMELA software]/calo/flight/CaloEnergy/inc/CaloEnergy.h
ViewVC logotype

Diff of /calo/flight/CaloEnergy/inc/CaloEnergy.h

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

revision 1.5 by mocchiut, Wed Jul 29 12:59:37 2009 UTC revision 1.7 by mocchiut, Mon Aug 17 08:36:27 2009 UTC
# Line 16  Line 16 
16  #include <TSystemFile.h>  #include <TSystemFile.h>
17  #include <TSystemDirectory.h>  #include <TSystemDirectory.h>
18  #include <TSQLServer.h>  #include <TSQLServer.h>
19    
20  #include <CaloPreSampler.h>  #include <CaloPreSampler.h>
21    #include <CaloProfile.h>
22    
23  #include <iostream>  #include <iostream>
24    
# Line 69  class CaloEnergy : public TObject { Line 71  class CaloEnergy : public TObject {
71      Float_t fXEen_maxplane; ///< total energy [MIP] used for energy determination as given by section XE      Float_t fXEen_maxplane; ///< total energy [MIP] used for energy determination as given by section XE
72      Float_t fYEen_maxplane; ///< total energy [MIP] used for energy determination as given by section YE      Float_t fYEen_maxplane; ///< total energy [MIP] used for energy determination as given by section YE
73      //      //
74        Float_t xomax_en; ///< energy at plane of maximum of section XO
75        Float_t xemax_en; ///< energy at plane of maximum of section XE
76        Float_t yomax_en; ///< energy at plane of maximum of section YO
77        Float_t yemax_en; ///< energy at plane of maximum of section YE
78        //
79        //
80      Float_t xe1; ///< position of strip  1 section XE      Float_t xe1; ///< position of strip  1 section XE
81      Float_t xe2; ///< position of strip 32 section XE      Float_t xe2; ///< position of strip 32 section XE
82      Float_t xe3; ///< position of strip 33 section XE      Float_t xe3; ///< position of strip 33 section XE
# Line 113  class CaloEnergy : public TObject { Line 121  class CaloEnergy : public TObject {
121      Float_t en_xop[11]; ///< detected energy [MIP] for each plane of section XO      Float_t en_xop[11]; ///< detected energy [MIP] for each plane of section XO
122      Float_t en_yep[11]; ///< detected energy [MIP] for each plane of section YE      Float_t en_yep[11]; ///< detected energy [MIP] for each plane of section YE
123      Float_t enstrip[2][22][96]; ///< detected energy [MIP] for each strip of calorimeter      Float_t enstrip[2][22][96]; ///< detected energy [MIP] for each strip of calorimeter
124        //
125        Float_t x0max; ///< plane of maximum given externally (only test purpose)
126      //      //
127      Bool_t fXosel; ///< true if event is contained in section XO      Bool_t fXosel; ///< true if event is contained in section XO
128      Bool_t fXesel; ///< true if event is contained in section XE      Bool_t fXesel; ///< true if event is contained in section XE
# Line 133  class CaloEnergy : public TObject { Line 143  class CaloEnergy : public TObject {
143      Bool_t indep; ///< flag to switch between INDEPENDENT or COHERENT mode, default false - COHERENT mode selected      Bool_t indep; ///< flag to switch between INDEPENDENT or COHERENT mode, default false - COHERENT mode selected
144      //      //
145      CaloPreSampler *cp; ///< pointer to calopresampler object (object constructed only when invoking method UseCaloPreSampler() , default: use level2 data).      CaloPreSampler *cp; ///< pointer to calopresampler object (object constructed only when invoking method UseCaloPreSampler() , default: use level2 data).
146        CaloLong *clong; ///< pointer to calolong object (object constructed only when invoking method UseLongFit(), default use energy up to maximum).
147      //      //
148      void DefineGeometry(); ///< called by constructors to fill geometrical variables (like xe1 etc).      void DefineGeometry(); ///< called by constructors to fill geometrical variables (like xe1 etc).
149      void Set(); ///< called by contructors to define default variables      void Set(); ///< called by contructors to define default variables
# Line 173  class CaloEnergy : public TObject { Line 184  class CaloEnergy : public TObject {
184      Float_t GetCount(){ return fCount;}; ///< returns the number of section inside acceptance for this event (equal to the number of given section in coherent mode)      Float_t GetCount(){ return fCount;}; ///< returns the number of section inside acceptance for this event (equal to the number of given section in coherent mode)
185      //      //
186      Float_t GetMaxplane(){ return fMax_plane;}; ///< returns the average max plane [0,11] (independent mode) or last plane for energy measurement [0,43] (coherent mode)          Float_t GetMaxplane(){ return fMax_plane;}; ///< returns the average max plane [0,11] (independent mode) or last plane for energy measurement [0,43] (coherent mode)    
187        Float_t GetEnergyAtMaxplane(TString section); ///< returns the energy at the plane of maximum for section "section"
188      //      //
189      Float_t GetMaxEnergy(){ return((fXEen_maxplane+fYOen_maxplane+fYEen_maxplane+fXOen_maxplane));}; ///< returns the total energy [MIP] before conversion      Float_t GetMaxEnergy(); ///< returns the total energy [MIP] before conversion
190      Float_t GetMaxEnergy(TString section); ///< returns the total energy [MIP] before conversion for section "section"      Float_t GetMaxEnergy(TString section); ///< returns the total energy [MIP] before conversion for section "section"
191      Int_t GetMaxplane(TString section); ///< returns the plane of maximum (independent mode) or the last used plane (coherent mode) for section "section"      Int_t GetMaxplane(TString section); ///< returns the plane of maximum (independent mode) or the last used plane (coherent mode) for section "section"
192      //      //
193      void UseLongitudinalFitEnergy(){ fPl = 0; fLong = true;}; ///< use or not the longitudinal fit to determine the energy (NOT IMPLEMENTED YET)      void UseLongFit();///< use or not the longitudinal fit to determine the energy
194        CaloLong* GetCaloLong(){return clong;}; ///< Get calolong object.
195      void UseMeasuredEnergyUpToMax(){ fLong = false;}; ///< use the measured energy to determine the maximum (default)      void UseMeasuredEnergyUpToMax(){ fLong = false;}; ///< use the measured energy to determine the maximum (default)
196      //      //
197      void SetMargin(Float_t margin){fM = margin + 0.096; fM1 = margin - 0.122 - 0.096; if ( fM1 < 0. ) fM1 = 0.;}; ///< set the margin from the border of the silicon sensor (not from the first strip), set the same margin for both the directions      void SetMargin(Float_t margin){fM = margin + 0.096; fM1 = margin - 0.122 + 0.096; if ( fM1 < 0. ) fM1 = 0.;}; ///< set the margin from the border of the silicon sensor (not from the first strip), set the same margin for both the directions
198      void SetMarginStripDirection(Float_t margin){fM = margin + 0.096;}; ///< set the margin from the border of the silicon sensor (not from the first strip) in the strip direction      void SetMarginStripDirection(Float_t margin){fM = margin + 0.096;}; ///< set the margin from the border of the silicon sensor (not from the first strip) in the strip direction
199      void SetMarginStripReading(Float_t margin){fM1 = margin -0.122 - 0.096;};  ///< set the margin from the border of the silicon sensor (not from the first strip) in the strip reading direction      void SetMarginStripReading(Float_t margin){fM1 = margin -0.122 + 0.096;};  ///< set the margin from the border of the silicon sensor (not from the first strip) in the strip reading direction
200      void SetRadius(Int_t strip){fRad = strip;}; ///< set the radius of the cylinder      void SetRadius(Int_t strip){fRad = strip;}; ///< set the radius of the cylinder
201      void SetMaxPlaneOffset(Int_t noplanes){fPl = noplanes;}; ///< set the number of dE/dx measurements to be used after the maximum      void SetMaxPlaneOffset(Int_t noplanes){fPl = noplanes;}; ///< set the number of dE/dx measurements to be used after the maximum
202        void SetX0max(Float_t xm){ x0max = xm;}; ///< set the plane of maximum from external source X0 (test purpose only)
203        void SetRigX0max(Float_t rig){ x0max = -0.5+log(rig/0.0076);}; ///< set the plane of maximum from external source rigidity (GeV) (test purpose only)
204      //      //
205      void SetMinimumContainment(Int_t plane); ///< set the last plane [0,11] for which the trajectory MUST be contained in all the sections. Default 1000 means all the planes, if less than 10 events can be only partially contained in a section (NB: THIS INTRODUCE AN ENERGY DEPENDENT SELECTION CONTAINMENT EFFICIENCY)      void SetMinimumContainment(Int_t plane); ///< set the last plane [0,11] for which the trajectory MUST be contained in all the sections. Default 1000 means all the planes, if less than 10 events can be only partially contained in a section (NB: THIS INTRODUCE AN ENERGY DEPENDENT SELECTION CONTAINMENT EFFICIENCY)
206      void SetMinimumContainment(TString section, Int_t plane); ///< set the last plane [0,11] for which the trajectory MUST be contained in section "section". Default 1000 means all the planes, if less than 10 events can be only partially contained in a section (NB: THIS INTRODUCE AN ENERGY DEPENDENT SELECTION CONTAINMENT EFFICIENCY)      void SetMinimumContainment(TString section, Int_t plane); ///< set the last plane [0,11] for which the trajectory MUST be contained in section "section". Default 1000 means all the planes, if less than 10 events can be only partially contained in a section (NB: THIS INTRODUCE AN ENERGY DEPENDENT SELECTION CONTAINMENT EFFICIENCY)

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.23