85 50,0.,500.,200,0.,200.);
87 50,0.,500.,200,0.,200.);
89 50,0.,500.,200,0.,200.);
91 50,0.,500.,200,0.,5.);
115 <<
" +/-" << sys_err <<
"(sys) PECorr/cm" 127 Double_t parameters[3];
128 parameters[0] = proj->GetBinContent(proj->GetMaximumBin());
129 parameters[1] = proj->GetBinCenter(proj->GetMaximumBin());
130 parameters[2] = proj->GetRMS();
134 Double_t bound_size = (isTruth) ? 0.2 : 0.5;
136 Double_t lowerBound =
std::max(0.,parameters[1] - bound_size*proj->GetRMS());
137 Double_t upperBound = parameters[1] + bound_size*proj->GetRMS();
140 TF1* fitfunction =
new TF1(
"fitfunction",
"[0]*TMath::Gaus(x,[1],[2])",lowerBound,upperBound);
141 fitfunction->SetParameters(parameters);
145 proj->Fit(fitfunction,
"RQ");
149 sigma = fitfunction->GetParError(1);
150 return fitfunction->GetParameter(1);
162 r.
getByLabel(
"muondedx",
"dEdxMinus",tmpMinus);
166 for(
int i=0;
i<
fdEdx->GetNbinsX(); ++
i ){
167 for(
int j=0;
j<
fdEdx->GetNbinsY(); ++
j ){
168 double thing =
fdEdx->GetBinContent(
i+1,
j+1);
172 thing += tmp->GetBinContent(
i+1,
j+1);
173 thingMinus += tmpMinus->GetBinContent(
i+1,
j+1);
174 thingPlus += tmpPlus->GetBinContent(
i+1,
j+1);
175 thingTrue += tmpTrue->GetBinContent(
i+1,
j+1);
176 fdEdx->SetBinContent(
i+1,
j+1,thing);
186 fWindow->Add((TH1D*)tmp->ProjectionY(
"window",startBin,endBin));
187 fWindow_minus->Add((TH1D*)tmpMinus->ProjectionY(
"window_minus",startBin,endBin));
188 fWindow_plus->Add((TH1D*)tmpPlus->ProjectionY(
"window_plus",startBin,endBin));
189 fWindow_true->Add((TH1D*)tmpTrue->ProjectionY(
"window_true",startBin,endBin));
T max(const caf::Proxy< T > &a, T b)
fvar< T > fabs(const fvar< T > &x)
double fitMEU(TH1D *&proj, double &sigma, bool isTruth=false)
AbsCalib(fhicl::ParameterSet const &p)
DEFINE_ART_MODULE(TestTMapFile)
void beginRun(art::Run const &r) override
void endRun(art::Run const &r) override
EDAnalyzer(Table< Config > const &config)
void analyze(art::Event const &e) override
T * make(ARGS...args) const
bool getByLabel(std::string const &label, std::string const &productInstanceName, Handle< PROD > &result) const