#include "Conventions/Detector.h"#include "Conventions/ReleaseType.h"Go to the source code of this file.
Namespaces | |
| namespace | EnergyResolution |
Functions | |
| Double_t | GetResolution (Double_t trkmomentum, Double_t trkmomentumerr, Double_t shwenergy, Double_t shwenergyerr, Bool_t rangecurve, Bool_t containedvertex=1, Detector::Detector_t detector=Detector::kFar, ReleaseType::Release_t release=(ReleaseType::kDogwood|ReleaseType::kDaikon)) |
| Double_t | MuonResolution (Double_t trkmomentum, Double_t trkmomentumerr, Bool_t rangecurve, Bool_t containedvertex=1, Detector::Detector_t detector=Detector::kFar, ReleaseType::Release_t release=(ReleaseType::kDogwood|ReleaseType::kDaikon)) |
| Double_t | ShowerResolution (Double_t shwenergy, Double_t shwenergyerr, Detector::Detector_t detector=Detector::kFar, ReleaseType::Release_t release=(ReleaseType::kDogwood|ReleaseType::kDaikon)) |
| Double_t | MuonResolutionDogwoodFar (Double_t trkmomentum, Double_t trkmomentumerr, Bool_t rangecurve, Bool_t containedvertex) |
| Double_t | MuonResolutionDogwoodNear (Double_t trkmomentum, Double_t trkmomentumerr, Bool_t rangecurve, Bool_t containedvertex) |
| Double_t | MuonResolutionCedar (Double_t trkmomentum, Double_t trkmomentumerr, Bool_t rangecurve, Bool_t containedvertex) |
| Double_t | ShowerResolutionDogwoodFar (Double_t shwenergy, Double_t shwenergyerr) |
| Double_t | ShowerResolutionDogwoodNear (Double_t shwenergy, Double_t shwenergyerr) |
| Double_t | ShowerResolutionCedar (Double_t shwenergy, Double_t shwenergyerr) |
|
||||||||||||||||||||||||||||||||||||
|
Definition at line 7 of file EnergyResolution.cxx. References EnergyResolution::MuonResolution(), and EnergyResolution::ShowerResolution(). 00008 {
00009 Double_t muon_resolution = MuonResolution(trkmomentum, trkmomentumerr,
00010 rangecurve, containedvertex, detector, release );
00011
00012 Double_t shower_resolution = ShowerResolution(shwenergy, shwenergyerr,
00013 detector, release );
00014
00015 return sqrt( muon_resolution*muon_resolution + shower_resolution*shower_resolution );
00016 }
|
|
||||||||||||||||||||||||||||
|
Definition at line 40 of file EnergyResolution.cxx. References EnergyResolution::MuonResolutionCedar(), EnergyResolution::MuonResolutionDogwoodFar(), and EnergyResolution::MuonResolutionDogwoodNear(). Referenced by NuReco::CalcResolution(), and EnergyResolution::GetResolution(). 00041 {
00042 // dogwood resolution
00043 if( (release&ReleaseType::kDogwood)==(ReleaseType::kDogwood) ){
00044 if( detector == Detector::kNear ) return MuonResolutionDogwoodNear(trkmomentum,trkmomentumerr,
00045 rangecurve,containedvertex);
00046 if( detector == Detector::kFar ) return MuonResolutionDogwoodFar(trkmomentum,trkmomentumerr,
00047 rangecurve,containedvertex);
00048 }
00049
00050 // cedar resolution
00051 else if( (release&ReleaseType::kCedar)==(ReleaseType::kCedar) ){
00052 if( detector == Detector::kNear ) return MuonResolutionCedar(trkmomentum,trkmomentumerr,
00053 rangecurve,containedvertex);
00054 if( detector == Detector::kFar ) return MuonResolutionCedar(trkmomentum,trkmomentumerr,
00055 rangecurve,containedvertex);
00056 }
00057
00058 // default to zero
00059 return 0.0;
00060 }
|
|
||||||||||||||||||||
|
Definition at line 76 of file EnergyResolution.cxx. Referenced by EnergyResolution::MuonResolution(), EnergyResolution::MuonResolutionDogwoodFar(), and EnergyResolution::MuonResolutionDogwoodNear(). 00077 {
00078 if( containedvertex ){
00079
00080 // momentum from range
00081 if( rangecurve ){
00082 Double_t trkmomentum_input = trkmomentum;
00083 if( trkmomentum_input<0.0 ) trkmomentum_input = 0.0;
00084
00085 Double_t fRange0 = 0.0; // Emu = 0 : sigma -> 0 GeV
00086 Double_t fRange1 = 0.0467;
00087 Double_t fRange2 = 0.0700; // Emu >> 0 : sigma/E -> 7%
00088
00089 Double_t rangesigma0 = fRange0;
00090 Double_t rangesigma1 = fRange1*sqrt(trkmomentum_input);
00091 Double_t rangesigma2 = fRange2*trkmomentum_input;
00092
00093 return sqrt( rangesigma0*rangesigma0 + rangesigma1*rangesigma1 + rangesigma2*rangesigma2 );
00094 }
00095
00096 // momentum from curvature
00097 else{
00098 Double_t trkmomentumerr_input = trkmomentumerr;
00099 if( trkmomentumerr_input<0.0 ) trkmomentumerr_input = 0.0;
00100
00101 Double_t fCurve0 = 0.0;
00102 Double_t fCurve1 = 1.237;
00103 Double_t fCurve2 = 1.198;
00104
00105 Double_t curvesigma0 = fCurve0;
00106 Double_t curvesigma1 = fCurve1*sqrt(trkmomentumerr_input);
00107 Double_t curvesigma2 = fCurve2*trkmomentumerr_input;
00108
00109 return sqrt( curvesigma0*curvesigma0 + curvesigma1*curvesigma1 + curvesigma2*curvesigma2 );
00110 }
00111 }
00112
00113 // default to zero
00114 return 0.0;
00115 }
|
|
||||||||||||||||||||
|
Definition at line 71 of file EnergyResolution.cxx. References EnergyResolution::MuonResolutionCedar(). Referenced by EnergyResolution::MuonResolution(). 00072 {
00073 return MuonResolutionCedar(trkmomentum, trkmomentumerr, rangecurve, containedvertex);
00074 }
|
|
||||||||||||||||||||
|
Definition at line 66 of file EnergyResolution.cxx. References EnergyResolution::MuonResolutionCedar(). Referenced by EnergyResolution::MuonResolution(). 00067 {
00068 return MuonResolutionCedar(trkmomentum, trkmomentumerr, rangecurve, containedvertex);
00069 }
|
|
||||||||||||||||||||
|
Definition at line 20 of file EnergyResolution.cxx. References EnergyResolution::ShowerResolutionCedar(), EnergyResolution::ShowerResolutionDogwoodFar(), and EnergyResolution::ShowerResolutionDogwoodNear(). Referenced by NuReco::CalcResolution(), and EnergyResolution::GetResolution(). 00021 {
00022 // dogwood resolution
00023 if( (release&ReleaseType::kDogwood)==(ReleaseType::kDogwood) ){
00024 if( detector == Detector::kNear ) return ShowerResolutionDogwoodNear(shwenergy, shwenergyerr);
00025 if( detector == Detector::kFar ) return ShowerResolutionDogwoodFar(shwenergy, shwenergyerr);
00026 }
00027
00028 // cedar resolution
00029 else if( (release&ReleaseType::kCedar)==(ReleaseType::kCedar) ){
00030 if( detector == Detector::kNear ) return ShowerResolutionCedar(shwenergy, shwenergyerr);
00031 if( detector == Detector::kFar ) return ShowerResolutionCedar(shwenergy, shwenergyerr);
00032 }
00033
00034 // default to zero
00035 return 0.0;
00036 }
|
|
||||||||||||
|
Definition at line 131 of file EnergyResolution.cxx. Referenced by EnergyResolution::ShowerResolution(), EnergyResolution::ShowerResolutionDogwoodFar(), and EnergyResolution::ShowerResolutionDogwoodNear(). 00132 {
00133 Double_t shwenergy_input = shwenergy;
00134 if( shwenergy_input<0.0 ) shwenergy_input = 0.0;
00135
00136 Double_t shwenergyerr_input = shwenergyerr;
00137 if( shwenergyerr_input<0.0 ) shwenergyerr_input = 0.0;
00138
00139 Double_t fShw0 = 0.190; // Eshw = 0 : sigma -> 190 MeV
00140 Double_t fShw1 = 0.509; // Eshw >> 0 : sigma/E -> 51%/sqrt(E)
00141 Double_t fShw2 = 0.0;
00142
00143 Double_t shwsigma0 = fShw0;
00144 Double_t shwsigma1 = fShw1*sqrt(shwenergy_input);
00145 Double_t shwsigma2 = fShw2*shwenergy_input;
00146
00147 return sqrt( shwsigma0*shwsigma0 + shwsigma1*shwsigma1 + shwsigma2*shwsigma2 );
00148 }
|
|
||||||||||||
|
Definition at line 126 of file EnergyResolution.cxx. References EnergyResolution::ShowerResolutionCedar(). Referenced by EnergyResolution::ShowerResolution(). 00127 {
00128 return ShowerResolutionCedar(shwenergy, shwenergyerr);
00129 }
|
|
||||||||||||
|
Definition at line 121 of file EnergyResolution.cxx. References EnergyResolution::ShowerResolutionCedar(). Referenced by EnergyResolution::ShowerResolution(). 00122 {
00123 return ShowerResolutionCedar(shwenergy, shwenergyerr);
00124 }
|
1.3.9.1