Namespaces | Functions | Variables
NCPi0SingleProngVars.h File Reference
#include "CAFAna/Vars/Vars.h"
#include "3FlavorAna/Vars/NueVars.h"
#include "3FlavorAna/Vars/NumuVars.h"
#include "CAFAna/Core/HistAxis.h"
#include "StandardRecord/Proxy/SRProxy.h"
#include "/nova/app/users/rbowles/tag_releaseS18-05-29/NDAna/ncpi0_1prong/Headers/NCPi0SingleProngCuts.h"
#include "TH2.h"
#include "TMath.h"
#include "TH1.h"
#include "TAxis.h"
#include "TVector3.h"
#include "TParticlePDG.h"
#include "TDatabasePDG.h"
#include "TLorentzVector.h"

Go to the source code of this file.

Namespaces

 ana
 Cuts and Vars for the 2020 FD DiF Study.
 

Functions

const Var ana::kReMId ([](const caf::SRProxy *sr){return sr->sel.remid.pid;})
 
const Var ana::kTrueE1Prong ([](const caf::SRProxy *sr){return(sr->mc.nnu==0)?-1.:float(sr->mc.nu[0].E);})
 
const Var ana::kProng1Len ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->vtx.elastic[0].fuzzyk.npng >1) return float(-1);return float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.len);})
 
const Var ana::k1ProngEn ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->vtx.elastic[0].fuzzyk.npng >1) return float(-1);return float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.calE);})
 
const Var ana::kProngWid ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->vtx.elastic[0].fuzzyk.npng >1) return float(-1);return float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.width);})
 
const Var ana::kMaxContPlane ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->vtx.elastic[0].fuzzyk.npng >1) return float(-1);return float(sr->vtx.elastic[0].fuzzyk.png[0].maxplanecont);})
 
const Var ana::kMaxPlaneGap ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->vtx.elastic[0].fuzzyk.npng >1) return float(-1);return float(sr->vtx.elastic[0].fuzzyk.png[0].maxplanegap);})
 
const Var ana::kNPlane ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->vtx.elastic[0].fuzzyk.npng >1) return float(-1);return float(sr->vtx.elastic[0].fuzzyk.png[0].nplane);})
 
const Var ana::k1Prongdedx ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;return float(sr->sand.nue.dedxpng1);})
 
const Var ana::kSliceEnergy ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;return float(sr->slc.calE);})
 
const Var ana::TrueXPos ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->mc.nu[0].vtx.x));})
 
const Var ana::TrueYPos ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->mc.nu[0].vtx.y));})
 
const Var ana::TrueZPos ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->mc.nu[0].vtx.z));})
 
const Var ana::kTruePi0Energy ([](const caf::SRProxy *sr){float MassOfPi0=0.135;float kinetic=-10;float en=-99;if(sr->vtx.nelastic==0) return 0.0f;if(sr->mc.nnu==0) return 0.0f;if(sr->mc.nu[0].prim.size()==0) return 0.0f;int nbofprim=sr->mc.nu[0].prim.size();for(int i=0;i< nbofprim;i++){if(sr->mc.nu[0].prim[i].pdg==111){en=sr->mc.nu[0].prim[i].p.E;}}return en;})
 
const Var ana::kepi0LLL ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.lid.epi0lll));})
 
const Var ana::kepiLLL ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.lid.epi0lll));})
 
const Var ana::kepLLT ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.lid.epllt));})
 
const Var ana::kepi0LLT ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.lid.epi0llt));})
 
const Var ana::kepiLLT ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.lid.epi0llt));})
 
const Var ana::kepLLL ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].shwlid.lid.eplll));})
 
const Var ana::kProngHitsX ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].nhitx));})
 
const Var ana::kProngHitsY ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->mc.nnu==0) return 0.f;return(float(sr->vtx.elastic[0].fuzzyk.png[0].nhity));})
 
const Var ana::kCVNnumu ([](const caf::SRProxy *sr){return sr->sel.cvn.numuid;})
 
const Var ana::kCVNncid ([](const caf::SRProxy *sr){return sr->sel.cvn.numuid;})
 
const Var ana::kCVNphotonid ([](const caf::SRProxy *sr){if(sr->vtx.nelastic==0) return 0.f;if(sr->vtx.elastic[0].fuzzyk.npng >1) return float(-1);return float(sr->vtx.elastic[0].fuzzyk.png[0].cvnpart.photonid);})
 
const Var ana::kRecoVertX ([](const caf::SRProxy *sr){return sr->vtx.elastic[0].vtx.x;})
 
const Var ana::kRecoVertY ([](const caf::SRProxy *sr){return sr->vtx.elastic[0].vtx.y;})
 
const Var ana::kRecoVertZ ([](const caf::SRProxy *sr){return sr->vtx.elastic[0].vtx.z;})
 
const Var ana::kTrueVertX ([](const caf::SRProxy *sr){return sr->mc.nu[0].vtx.x;})
 
const Var ana::kTrueVertY ([](const caf::SRProxy *sr){return sr->mc.nu[0].vtx.y;})
 
const Var ana::kTrueVertZ ([](const caf::SRProxy *sr){return sr->mc.nu[0].vtx.z;})
 
const Var ana::k3DDistance ([](const caf::SRProxy *sr){float Distance;Distance=sqrt((sr->mc.nu[0].vtx.x-sr->vtx.elastic[0].vtx.x)*(sr->mc.nu[0].vtx.x-sr->vtx.elastic[0].vtx.x)+(sr->mc.nu[0].vtx.y-sr->vtx.elastic[0].vtx.y)*(sr->mc.nu[0].vtx.y-sr->vtx.elastic[0].vtx.y)+(sr->mc.nu[0].vtx.z-sr->vtx.elastic[0].vtx.z)*(sr->mc.nu[0].vtx.z-sr->vtx.elastic[0].vtx.z));return Distance;})
 
const Var ana::kShwx ([](const caf::SRProxy *sr){return sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop.x;})
 
const Var ana::kShwy ([](const caf::SRProxy *sr){return sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop.y;})
 
const Var ana::kShwz ([](const caf::SRProxy *sr){return sr->vtx.elastic[0].fuzzyk.png[0].shwlid.stop.z;})
 

Variables

const Var ana::kHadEnergy = kSliceEnergy - k1ProngEn
 
const Var ana::kDeltaVertX = kTrueVertX - kRecoVertX
 
const Var ana::kDeltaVertY = kTrueVertY - kRecoVertY
 
const Var ana::kDeltaVertZ = kTrueVertZ - kRecoVertZ