ProtoDUNECalibration.h
Go to the documentation of this file.
1 #ifndef NewProtoDUNECalibration_h
2 #define NewProtoDUNECalibration_h
3 
8 
9 #include "TFile.h"
10 #include "TH1F.h"
11 #include "TH2F.h"
12 #include "TH3F.h"
13 
14 
15 namespace protoana{
16 
17 
19 
20  public:
23  std::vector<float> GetCalibratedCalorimetry(
24  const recob::Track &track, art::Event const &evt,
25  const std::string trackModule, const std::string caloModule,
26  size_t planeID, double negativeZFix = 0.);
27  double HitToEnergy(
28  const art::Ptr<recob::Hit> hit, double X, double Y, double Z,
29  double recomb_factor=.6417);
30  std::vector<double> GetEFieldVector(
31  const recob::Track &track, art::Event const &evt,
32  const std::string trackModule, const std::string caloModule,
33  size_t planeID, double negativeZFix = 0.);
34  std::vector<double> CalibratedQdX(
35  const recob::Track &track, art::Event const &evt,
36  const std::string trackModule, const std::string caloModule,
37  size_t planeID, double negativeZFix);
38  float calc_dEdX(double dqdx, double betap, double Rho, double Efield, double Wion, double alpha);
39 
40  private:
41 
42  double tot_Ef( double, double, double );
43 
44  double betap;
45  double Rho;
46  //double Efield;
47  double Wion;
48  double alpha;
49 
50  //size_t planeID;
51  std::map<size_t, double> norm_factors;
52  std::map<size_t, double> calib_factors;
53  std::map<size_t, TH1F *> X_correction_hists;
54  std::map<size_t, TH2F *> YZ_neg_hists;
55  std::map<size_t, TH2F *> YZ_pos_hists;
56 
59 
62 
64  TFile * E_field_file;
65 
66 
67  TH3F * ex_neg;
68  TH3F * ey_neg;
69  TH3F * ez_neg;
70 
71  TH3F * ex_pos;
72  TH3F * ey_pos;
73  TH3F * ez_pos;
74 
76 
77  TFile * OpenFile(const std::string filename);
78 
79  };
80 
81 }
82 
83 
84 #endif
std::vector< double > GetEFieldVector(const recob::Track &track, art::Event const &evt, const std::string trackModule, const std::string caloModule, size_t planeID, double negativeZFix=0.)
std::string string
Definition: nybbler.cc:12
std::map< size_t, TH2F * > YZ_neg_hists
float calc_dEdX(double dqdx, double betap, double Rho, double Efield, double Wion, double alpha)
string filename
Definition: train.py:213
std::map< size_t, TH1F * > X_correction_hists
std::map< size_t, double > calib_factors
double HitToEnergy(const art::Ptr< recob::Hit > hit, double X, double Y, double Z, double recomb_factor=.6417)
std::vector< double > CalibratedQdX(const recob::Track &track, art::Event const &evt, const std::string trackModule, const std::string caloModule, size_t planeID, double negativeZFix)
Detector simulation of raw signals on wires.
std::map< size_t, TH2F * > YZ_pos_hists
Provides recob::Track data product.
std::map< size_t, double > norm_factors
double tot_Ef(double, double, double)
TCEvent evt
Definition: DataStructs.cxx:7
std::vector< float > GetCalibratedCalorimetry(const recob::Track &track, art::Event const &evt, const std::string trackModule, const std::string caloModule, size_t planeID, double negativeZFix=0.)
TFile * OpenFile(const std::string filename)
Track from a non-cascading particle.A recob::Track consists of a recob::TrackTrajectory, plus additional members relevant for a "fitted" track:
Definition: Track.h:49