exporter_fd.C
Go to the documentation of this file.
1 #ifdef __CINT__
2 void exporter_fd()
3 {
4  std::cout << "Sorry, you must run in compiled mode" << std::endl;
5 }
6 #else
7 
8 #include <string>
9 #include <iostream>
10 
11 #include "CAFAna/numu/SplineEE/exporters/var_defs.h"
13 
15 #include "CAFAna/Cuts/TruthCuts.h"
16 #include "CAFAna/Cuts/SpillCuts.h"
17 
20 #include "CAFAna/Vars/XsecTunes.h"
21 
22 using namespace ana;
23 
25  "dataset_def_name_newest_snapshot "
26  "prod_caf_R17-11-14-prod4reco.d_fd_genie_nonswap_fhc_nova_v08_period3_v1";
27 
28 const std::string output = "data_fd_p3.csv";
29 
30 const Cut cut = kIsNumuCC && (kTrueE < 5) && (
33 );
35 
36 
38 {
40 
41  maker.setCut(cut);
43 
44  maker.addVars(VARS_TRUTH);
45  maker.addVars(VARS_BASE);
46  maker.addVars(VARS_FD);
47 
48  maker.addVar("weight", weight);
49 
50  maker.Go();
51 }
52 
53 #endif
const Cut kIsNumuCC(CCFlavSel(14, 14))
Select CC .
void setCut(const Cut &cut)
Definition: CSVMaker.cxx:132
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const Var kPPFXFluxCVWgt
Definition: PPFXWeights.h:16
const Var weight
void SetSpillCut(const SpillCut &cut)
const XML_Char const XML_Char * data
Definition: expat.h:268
const Cut kNumuCosmicRej2018([](const caf::SRProxy *sr){return(sr->sel.cosrej.anglekal > 0.5 && sr->sel.cosrej.numucontpid2019 > 0.53 && sr->slc.nhit< 400 && sr->sel.nuecosrej.pngptp< 0.9 );})
Definition: NumuCuts2018.h:19
const Var kTrueE([](const caf::SRProxy *sr){return(sr->mc.nnu==0)?0.:float(sr->mc.nu[0].E);})
Definition: Vars.cxx:85
const Cut kNumuContainFD2017
Definition: NumuCuts2017.h:21
OStream cout
Definition: OStream.cxx:6
void addVar(const std::string &name, const Var &var)
Definition: CSVMaker.cxx:110
::xsd::cxx::tree::string< char, simple_type > string
Definition: Database.h:154
const std::vector< std::pair< std::string, Var > > VARS_BASE({{"baseMuE", kMuE},{"baseHadE", kHadE},{"baseNuMuE", kCCE},})
const Cut cut
Definition: exporter_fd.C:30
const Cut kNumuBasicQuality([](const caf::SRProxy *sr){return(sr->energy.numu.trkccE > 0 && sr->sel.remid.pid > 0 && sr->slc.nhit > 20 && sr->slc.ncontplanes > 4 && sr->trk.cosmic.ntracks > 0);})
Definition: NumuCuts.h:14
const std::string output
Definition: exporter_fd.C:28
const Cut kNumuPID2018([](const caf::SRProxy *sr){std::cout<< "ERROR::kNumuPID2018, cutting on both cvnProd3Train and cvn2017."<< " Neither branch exists anymore. Returning False."<< std::endl;abort();return false;})
Definition: NumuCuts2018.h:22
const Var kXSecCVWgt2018
Definition: XsecTunes.h:49
const SpillCut kStandardSpillCuts
Apply this unless you&#39;re doing something special.
Definition: SpillCuts.h:49
const std::vector< std::pair< std::string, Var > > VARS_FD({{"trkLen", kTrkLength},{"hadVisE", kNumuHadVisE},})
void exporter_fd()
Definition: exporter_fd.C:37
void Go() override
Load all the registered spectra.
Definition: CSVMaker.cxx:150
void addVars(const std::vector< NamedVar > &vars)
Definition: CSVMaker.cxx:120
const std::vector< std::pair< std::string, Var > > VARS_TRUTH({{"trueE", kTrueE},{"trueMuE", kTrueMuonE},})