27 std::map< int, std::map < int, bool > >
fBadFeb;
41 if(cap) meuperdiblock.SetTreeLoopCap (cap);
44 meuperdiblock.
DoAna();
53 std::vector<std::string> allsamples;
55 allsamples.push_back(samp.first);
61 "Tyler Alion, Alexander Booth, Yibing Zhang",
62 "Miniproduction 5 Data vs. MC. Tricell hits from Stopping Cosmics populate all plots, with Absolute Calibration cuts applied. Showing PE/cm and PECorr/cm broken down by Diblock.");
66 std::vector< std::string > views = {
"x",
"y"};
67 std::vector< std::string > yaxes = {
"pecm",
"pecorrcm"};
68 std::vector< std::string > drawplots;
69 for(
auto&
view : views){
70 for(
auto& yax : yaxes){
71 drawplots.push_back(yax+
"_diblock_"+
view);
135 bool abscal_hit = (
w > -100 &&
w < 100 &&
140 if( !abscal_hit )
return;
144 if(
view==0){ vstr=
"x"; }
145 if(
view==1){ vstr=
"y"; }
158 fHitVars=
"w, view, plane, cell, pe, pecorr, path, evt_time, cmFromEnd, diblock,";
166 std::vector< PlotAxis > xaxes = {
167 {
"diblock",
"Diblock Number", (
int)nDiblocks, 0., (
float)nDiblocks}
170 std::vector< ContentAxis > yaxes = {
172 {
"pecorrcm",
"PECorr/cm"},
175 std::vector< std::string > views = {
"x",
"y"};
177 for(
auto&
v : views){
178 if(
v==
"x") vstr =
"X";
179 if(
v==
"y") vstr =
"Y";
180 for(
auto& xax : xaxes){
181 for(
auto& yax : yaxes){
185 fPlots[
name] =
new TProfile(name.c_str(), (vstr+
" View;" + xax.title +
";"+ yax.title).c_str(),
186 xax.nbins, xax.min, xax.max);
201 std::vector< std::string > epoch_list = {
215 for(
auto&
ep : epoch_list ){
217 if(
ep==
"4b.1" ||
ep==
"4b.2")
218 fSamples[
"nd_data_ep"+
ep]=
"/nova/ana/users/talion/miniprod5/pcliststop_miniprod5.b/nd_data_epoch4b/calibana/merged.root";
220 fSamples[
"nd_data_ep"+
ep]=
"/nova/ana/users/talion/miniprod5/pcliststop_miniprod5.b/nd_data_epoch"+
ep+
"/calibana/merged.root";
226 fSamples[
"fd_data_ep"+
ep]=
"/nova/ana/users/talion/miniprod5_calibana/fd_data_epoch"+
ep+
"/merged.root";
229 fSamples[
"fd_mc_p3"]=
"/nova/ana/users/talion/miniprod5_calibana/fd_mc_highgain/merged.p3.root";
std::vector< std::string > fEpochList
std::map< std::string, TH1 * > fPlots
void MakeMEUPerDiblock(std::string outpath, std::string group, unsigned int cap=0, unsigned int stride=0)
std::map< int, std::map< int, bool > > fBadFeb
void ProcessTrees(std::string sample)
MEUPerDiblock(std::string outpath, std::string group)
void SetTreeLoopStride(unsigned int stride)
void Draw(std::string pdfdir, std::vector< Plot > plots, Plot denom_plot, std::string ratio_title="")
void ScheduleAllDataPlots()
std::map< std::string, std::string > fSamples