getInputList.C
Go to the documentation of this file.
1 #include "CAFAna/Cuts/Cuts.h"
10 
11 using namespace ana;
12 
14 {
15  // files
16  const std::string fd_MC = "prod_sumdecaf_R17-03-01-prod3reco.l_fd_genie_nonswap_fhc_nova_v08_full_v1_numu_sa_2017";
17 
18  // cuts
19  const Cut kNumuCosmicRejSA(
20  [](const caf::SRProxy* sr)
21  { return ( sr->sel.cosrej.anglekal > 0.5 &&
22  sr->sel.cosrej.numuSAcontpid > 0.535 &&
23  //sr->sel.cosrej.numucontpid > 0.535 &&
24  sr->slc.nhit < 400);
25  }
26  );
27 
28  const Cut kNumuFDSA = kNumuQuality && kNumuContainFD && kNumuNCRej && kNumuCosmicRejSA;
29 
30  // Vars
31 
32  const Var kIsSA(
33  [kNumuFDSA](const caf::SRProxy *sr)
34  {
35  return kNumuFDSA(sr);
36  });
37 
38  const Var kIsA17(
39  [kNumuCutFD2017](const caf::SRProxy *sr)
40  {
41  return kNumuCutFD2017(sr);
42  });
43 
44  const Var kCCESA = SIMPLEVAR(energy.numu.trkccE);
45 
46 
47  MakeTextListFile(fd_MC, {kNumuFDSA || kNumuCutFD2017}, {"Eventlist.txt"} , {&kTrueE, &kIsSA, &kIsA17, &kHadEFrac, &kCCE, &kCCESA, &kPPFXFluxCVWgt, &kXSecCVWgt2017}, &kStandardSpillCuts);
48 
49 } // End of function
Cuts and Vars for the 2020 FD DiF Study.
Definition: vars.h:6
const Var kPPFXFluxCVWgt
Definition: PPFXWeights.h:16
const Cut kNumuCutFD2017
Definition: NumuCuts2017.h:39
Proxy for caf::StandardRecord.
Definition: SRProxy.h:2126
const Cut kNumuContainFD([](const caf::SRProxy *sr){ std::pair< int, int > planes=calcFirstLastLivePlane(sr->slc.firstplane, std::bitset< 14 >(sr->hdr.dibmask));int planestofront=sr->slc.firstplane-planes.first;int planestoback=planes.second-sr->slc.lastplane;return( sr->slc.ncellsfromedge > 1 &&planestofront > 1 &&planestoback > 1 &&sr->sel.contain.kalfwdcell > 10 &&sr->sel.contain.kalbakcell > 10 &&sr->sel.contain.cosfwdcell > 0 &&sr->sel.contain.cosbakcell > 0);})
Definition: NumuCuts.h:20
caf::Proxy< caf::SRCosRej > cosrej
Definition: SRProxy.h:1252
void getInputList()
Definition: getInputList.C:13
void MakeTextListFile(const std::string &wildcard, const std::vector< Cut > &cut, const std::vector< std::string > &output, const std::vector< const Var * > &floatVars, const std::vector< const Var * > &intVars, const SpillCut *spillCut)
Make a file listing all the events passing the specified cut.
Definition: EventList.cxx:193
const Var kTrueE([](const caf::SRProxy *sr){assert(sr->mc.nnu==1);return sr->mc.nu[0].E;})
Definition: Vars.cxx:85
caf::Proxy< unsigned int > nhit
Definition: SRProxy.h:1315
const Var kHadEFrac
Definition: NumuVars.h:24
const Var kCCE
Definition: NumuVars.h:21
double energy
Definition: plottest35.C:25
caf::StandardRecord * sr
const Cut kNumuNCRej([](const caf::SRProxy *sr){return(sr->sel.remid.pid >0.75);})
Definition: NumuCuts.h:24
caf::Proxy< caf::SRSlice > slc
Definition: SRProxy.h:2142
#define SIMPLEVAR(CAFNAME)
For Vars where literally all you need is a single CAF variable.
Definition: Var.h:88
caf::Proxy< float > anglekal
Definition: SRProxy.h:859
const SpillCut kStandardSpillCuts
Apply this unless you&#39;re doing something special.
Definition: SpillCuts.h:49
caf::Proxy< caf::SRIDBranch > sel
Definition: SRProxy.h:2141
const Cut kNumuQuality
Definition: NumuCuts.h:18
const Var kXSecCVWgt2017
Definition: XsecTunes.h:37
enum BeamMode string