diff --git a/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.cxx b/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.cxx index 68957bb..df844bb 100644 --- a/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.cxx +++ b/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.cxx @@ -1,83 +1,93 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #include "BNL_CC1npip_Evt_1DQ2_nu.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 3 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 //******************************************************************** BNL_CC1npip_Evt_1DQ2_nu::BNL_CC1npip_Evt_1DQ2_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1npip_Evt_1DQ2_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("Q^{2}_{CC#pi} (GeV^{2})"); fSettings.SetYTitle("Number of events"); fSettings.SetAllowedTypes("EVT/SHAPE/DIAG", "EVT/SHAPE/DIAG"); fSettings.SetEnuRange(0.0, 3.0); fSettings.DefineAllowedTargets("D,H"); // CCQELike plot information fSettings.SetTitle("BNL_CC1npip_Evt_1DQ2_nu"); fSettings.SetDataInput( FitPar::GetDataBase() + "/BNL/CC1pip_on_n/BNL_CC1pip_on_n_noEvents_q2_noWcut_HighQ2Gone.txt" ); fSettings.DefineAllowedSpecies("numu"); FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/Nucleon fScaleFactor =GetEventHistogram()->Integral("width")/(fNEvents+0.)*2./1.; // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetPoissonErrors(); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1npip_Evt_1DQ2_nu::FillEventVariables(FitEvent *event) { if (event->NumFSParticle(13) == 0) return; TLorentzVector Pnu = event->GetNeutrinoIn()->fP; TLorentzVector Pmu = event->GetHMFSParticle(13)->fP; // No hadronic mass constraint in BNL CC1n1pi+ // This Q2 is Q2 true double q2CCpip = -1*(Pnu-Pmu).Mag2()/1.E6; fXVar = q2CCpip; return; }; bool BNL_CC1npip_Evt_1DQ2_nu::isSignal(FitEvent *event) { return SignalDef::isCC1pi3Prong(event, 14, 211, 2112, EnuMin, EnuMax); } diff --git a/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.h b/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.h index 0c985cd..4a85f6a 100644 --- a/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.h +++ b/src/BNL/BNL_CC1npip_Evt_1DQ2_nu.h @@ -1,36 +1,47 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1NPIP_EVT_1DQ2_NU_H_SEEN #define BNL_CC1NPIP_EVT_1DQ2_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 3 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 + class BNL_CC1npip_Evt_1DQ2_nu : public Measurement1D { public: BNL_CC1npip_Evt_1DQ2_nu(nuiskey samplekey); virtual ~BNL_CC1npip_Evt_1DQ2_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: }; #endif diff --git a/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.cxx b/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.cxx index 5a67861..a2f8080 100644 --- a/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.cxx +++ b/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.cxx @@ -1,104 +1,114 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #include "BNL_CC1npip_XSec_1DEnu_nu.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 7 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 //******************************************************************** BNL_CC1npip_XSec_1DEnu_nu::BNL_CC1npip_XSec_1DEnu_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1npip_XSec_1DEnu_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("E_{#nu} (GeV)"); fSettings.SetYTitle("#sigma (cm^{2}/neutron)"); fSettings.SetAllowedTypes("FIX/DIAG", "FIX,FREE,SHAPE/DIAG"); fSettings.SetEnuRange(0.0, 3.0); fSettings.SetS("norm_error", "0.15"); fSettings.DefineAllowedTargets("D,H"); // plot information fSettings.SetTitle("BNL_CC1npip_XSec_1DEnu_nu"); fSettings.DefineAllowedSpecies("numu"); // User can specifiy to use uncorrected data UseCorrectedData = !fSettings.Found("name", "Uncorr"); // Now read in different data depending on what the user has specified std::string DataLocation = GeneralUtils::GetTopLevelDir() + "/data/BNL/CC1pip_on_n/"; // If we're using corrected data if (UseCorrectedData) { DataLocation += "BNL_CC1pip_on_n_1986_corr.txt"; // If we're using raw uncorrected data } else { DataLocation += "BNL_CC1pip_on_n_1986.txt"; } fSettings.SetDataInput(DataLocation); FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/proton fScaleFactor = (GetEventHistogram()->Integral("width") * 1E-38) / ((fNEvents + 0.)) * 2. / 1.; // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1npip_XSec_1DEnu_nu::FillEventVariables(FitEvent *event) { TLorentzVector Pnu = event->GetNeutrinoIn()->fP; // No W cut for BNL CC1pi+ on neutron (I'm happy if you can find it!!!) double Enu = Pnu.E()/1000.; fXVar = Enu; return; }; bool BNL_CC1npip_XSec_1DEnu_nu::isSignal(FitEvent *event) { // BNL has somewhat tricky signal definition for the selection: // P_visible = visible 4-momentum, so the three tracks total momentum // P_visible > 150 MeV/c2 // Theta_Pvis_nu (angle between visible momentum and neutrino direction) < 50 degrees // At least one negative track leaves chamber without interacting or stops consistent with muon // THESE ARE NOT IMPLEMENTED BUT SHOULD BE KNOWN BY ANYONE WHO FITS THIS DATA! (see Kitagaki et al. 2556) // // The only actual restriction seems to be the final state particles. There's no mention of E_nu restrictions either (events span to 10GeV in fig 2, Kitagaki) // There's a mention of uncertainity in the neutrino flux for Enu > 6.0 GeV return SignalDef::isCC1pi3Prong(event, 14, 211, 2112, EnuMin, EnuMax); } diff --git a/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.h b/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.h index 5cdab22..0770b35 100644 --- a/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.h +++ b/src/BNL/BNL_CC1npip_XSec_1DEnu_nu.h @@ -1,38 +1,48 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1NPIP_XSEC_1DENU_NU_H_SEEN #define BNL_CC1NPIP_XSEC_1DENU_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 7 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 class BNL_CC1npip_XSec_1DEnu_nu : public Measurement1D { public: BNL_CC1npip_XSec_1DEnu_nu(nuiskey samplekey); virtual ~BNL_CC1npip_XSec_1DEnu_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: bool UseCorrectedData; }; #endif diff --git a/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.cxx b/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.cxx index 5ce9ba0..11ff3c4 100644 --- a/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.cxx +++ b/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.cxx @@ -1,85 +1,95 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #include "BNL_CC1pi0_Evt_1DQ2_nu.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 3 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 //******************************************************************** BNL_CC1pi0_Evt_1DQ2_nu::BNL_CC1pi0_Evt_1DQ2_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1pi0_Evt_1DQ2_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("Q^{2}_{CC#pi} (GeV^{2})"); fSettings.SetYTitle("Number of events"); fSettings.SetAllowedTypes("EVT/SHAPE/DIAG", "EVT/SHAPE/DIAG"); fSettings.SetEnuRange(0.0, 6.0); fSettings.DefineAllowedTargets("D,H"); // CCQELike plot information fSettings.SetTitle("BNL_CC1pi0_Evt_1DQ2_nu"); fSettings.SetDataInput( FitPar::GetDataBase() + "/BNL/CC1pi0_on_n/BNL_CC1pi0_on_n_noEvents_q2_noWcut_HighQ2Gone.txt" ); fSettings.DefineAllowedSpecies("numu"); FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/Nucleon fScaleFactor = GetEventHistogram()->Integral("width")/(fNEvents+0.); // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetPoissonErrors(); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1pi0_Evt_1DQ2_nu::FillEventVariables(FitEvent *event) { if (event->NumFSParticle(13) == 0) return; TLorentzVector Pnu = event->GetNeutrinoIn()->fP; TLorentzVector Pmu = event->GetHMFSParticle(13)->fP; // No W cut on BNL CC1pi0 // Want true Q2 double q2CCpi0 = -1*(Pnu-Pmu).Mag2()/1.E6; fXVar = q2CCpi0; return; }; bool BNL_CC1pi0_Evt_1DQ2_nu::isSignal(FitEvent *event) { return SignalDef::isCC1pi3Prong(event, 14, 111, 2212, EnuMin, EnuMax); } diff --git a/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.h b/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.h index 7ae08e2..87d137a 100644 --- a/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.h +++ b/src/BNL/BNL_CC1pi0_Evt_1DQ2_nu.h @@ -1,37 +1,47 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1PI0_EVT_1DQ2_NU_H_SEEN #define BNL_CC1PI0_EVT_1DQ2_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 3 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 class BNL_CC1pi0_Evt_1DQ2_nu : public Measurement1D { public: BNL_CC1pi0_Evt_1DQ2_nu(nuiskey samplekey); virtual ~BNL_CC1pi0_Evt_1DQ2_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: }; #endif diff --git a/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.cxx b/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.cxx index 13c0251..30330cf 100644 --- a/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.cxx +++ b/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.cxx @@ -1,97 +1,107 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #include "BNL_CC1pi0_XSec_1DEnu_nu.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 7 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 //******************************************************************** BNL_CC1pi0_XSec_1DEnu_nu::BNL_CC1pi0_XSec_1DEnu_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1pi0_XSec_1DEnu_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("E_{#nu} (GeV)"); fSettings.SetYTitle("#sigma (cm^{2}/neutron)"); fSettings.SetAllowedTypes("FIX/DIAG", "FIX,FREE,SHAPE/DIAG"); fSettings.SetEnuRange(0.0, 6.0); fSettings.SetS("norm_error", "0.15"); fSettings.DefineAllowedTargets("D,H"); // plot information fSettings.SetTitle("BNL_CC1pi0_XSec_1DEnu_nu"); fSettings.DefineAllowedSpecies("numu"); // User can specifiy to use uncorrected data UseCorrectedData = !fSettings.Found("name", "Uncorr"); // Now read in different data depending on what the user has specified std::string DataLocation = GeneralUtils::GetTopLevelDir() + "/data/BNL/CC1pi0_on_n/"; // If we're using corrected data if (UseCorrectedData) { DataLocation += "BNL_CC1pi0_on_n_1986_corr.txt"; // If we're using raw uncorrected data } else { DataLocation += "BNL_CC1pi0_on_n_1986.txt"; } fSettings.SetDataInput(DataLocation); FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/proton fScaleFactor = (GetEventHistogram()->Integral("width") * 1E-38) / (fNEvents + 0.) * 2. / 1.; // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1pi0_XSec_1DEnu_nu::FillEventVariables(FitEvent *event) { TLorentzVector Pnu = event->GetNeutrinoIn()->fP; //BNL doesn't have a W cut for CC1pi0 sadly (I'm super happy if you can find it!) double Enu = Pnu.E() / 1000.; fXVar = Enu; return; } bool BNL_CC1pi0_XSec_1DEnu_nu::isSignal(FitEvent *event) { return SignalDef::isCC1pi3Prong(event, 14, 111, 2212, EnuMin, EnuMax); } diff --git a/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.h b/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.h index 688acab..ede614d 100644 --- a/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.h +++ b/src/BNL/BNL_CC1pi0_XSec_1DEnu_nu.h @@ -1,37 +1,47 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1PI0_XSEC_1DENU_NU_H_SEEN #define BNL_CC1PI0_XSEC_1DENU_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 7 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 class BNL_CC1pi0_XSec_1DEnu_nu : public Measurement1D { public: BNL_CC1pi0_XSec_1DEnu_nu(nuiskey samplekey); virtual ~BNL_CC1pi0_XSec_1DEnu_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: bool UseCorrectedData; }; #endif diff --git a/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.cxx b/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.cxx index c1f4573..b303d44 100644 --- a/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.cxx +++ b/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.cxx @@ -1,110 +1,114 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ -/** - * Kitagaki et al. Phys Rev D, Volume 34, Number 9, 1 November 1986, p2254-2565 - * K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. - * KEK Preprint 2003-48, RCNS-03-01, September 2003 -*/ +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 3 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 +// Figure 8 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 #include "BNL_CC1ppip_Evt_1DQ2_nu.h" - - //******************************************************************** BNL_CC1ppip_Evt_1DQ2_nu::BNL_CC1ppip_Evt_1DQ2_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1ppip_Evt_1DQ2_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("Q^{2}_{CC#pi} (GeV^{2})"); fSettings.SetYTitle("Number of events"); fSettings.SetAllowedTypes("EVT/SHAPE/DIAG", "EVT/SHAPE/DIAG"); fSettings.SetEnuRange(0.5, 6.0); fSettings.DefineAllowedTargets("D,H"); // plot information fSettings.SetTitle("BNL #nu_mu CC1n#pi^{+}"); fSettings.DefineAllowedSpecies("numu"); // Hadronic Cut Info HadCut = fSettings.Found("name", "W14Cut") ? 1.4 : 10.0; if (HadCut == 1.4) { fSettings.SetDataInput( FitPar::GetDataBase() + "/BNL/CC1pip_on_p/BNL_CC1pip_on_p_noEvents_q2_w14_enu05to6_firstQ2rem.txt" ); } else { fSettings.SetDataInput( FitPar::GetDataBase() + "/BNL/CC1pip_on_p/BNL_CC1pip_on_p_noEvents_q2_noWcut_HighQ2Gone.txt"); fSettings.SetEnuRange(0.0, 10.0); } FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/Nucleon fScaleFactor = GetEventHistogram()->Integral("width") / (fNEvents + 0.); // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetPoissonErrors(); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1ppip_Evt_1DQ2_nu::FillEventVariables(FitEvent *event) { if (event->NumFSParticle(2212) == 0 || event->NumFSParticle(211) == 0 || event->NumFSParticle(13) == 0) { return; } TLorentzVector Pnu = event->GetNeutrinoIn()->fP; TLorentzVector Pp = event->GetHMFSParticle(2212)->fP; TLorentzVector Ppip = event->GetHMFSParticle(211)->fP; TLorentzVector Pmu = event->GetHMFSParticle(13)->fP; double hadMass = FitUtils::MpPi(Pp, Ppip); double q2CCpip = -1.0; // BNL has a M(pi, p) < 1.4 GeV cut and no W cut. // This should be specified by user in "type" field // Reverts to 10 GeV (essentially no W cut!) if (hadMass < HadCut * 1000.) { q2CCpip = -1 * (Pnu - Pmu).Mag2() / 1.E6; } fXVar = q2CCpip; return; }; bool BNL_CC1ppip_Evt_1DQ2_nu::isSignal(FitEvent *event) { return SignalDef::isCC1pi3Prong(event, 14, 211, 2212, EnuMin, EnuMax); } diff --git a/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.h b/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.h index 9c58c22..d8d435e 100644 --- a/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.h +++ b/src/BNL/BNL_CC1ppip_Evt_1DQ2_nu.h @@ -1,37 +1,48 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1PPIP_EVT_1DQ2_NU_H_SEEN #define BNL_CC1PPIP_EVT_1DQ2_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 3 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 +// Figure 8 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 class BNL_CC1ppip_Evt_1DQ2_nu : public Measurement1D { public: BNL_CC1ppip_Evt_1DQ2_nu(nuiskey samplekey); virtual ~BNL_CC1ppip_Evt_1DQ2_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: double HadCut; // Hadronic mass cut, specified by user (W < 1.4 or no W cut) }; #endif diff --git a/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.cxx b/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.cxx index 306cc6a..7ae0582 100644 --- a/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.cxx +++ b/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.cxx @@ -1,90 +1,100 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #include "BNL_CC1ppip_Evt_1DcosthAdler_nu.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 12 and related +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 //******************************************************************** BNL_CC1ppip_Evt_1DcosthAdler_nu::BNL_CC1ppip_Evt_1DcosthAdler_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1ppip_Evt_1DcosthAdler_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("cos#theta_{Adler}"); fSettings.SetYTitle("Number of events"); fSettings.SetAllowedTypes("EVT/SHAPE/DIAG", "EVT/SHAPE/DIAG"); fSettings.SetEnuRange(0.5, 6.0); fSettings.DefineAllowedTargets("D,H"); // CCQELike plot information fSettings.SetTitle("BNL_CC1ppip_Evt_1DcosthAdler_nu"); fSettings.SetDataInput( FitPar::GetDataBase() + "/BNL/CC1pip_on_p/BNL_CC1ppip_W14_cosThAdler.csv" ); fSettings.DefineAllowedSpecies("numu"); FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/Nucleon fScaleFactor =GetEventHistogram()->Integral("width")/(fNEvents+0.)*2./1.; // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetPoissonErrors(); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1ppip_Evt_1DcosthAdler_nu::FillEventVariables(FitEvent *event) { fXVar = -999.99; if (event->NumFSParticle(2212) == 0 || event->NumFSParticle(211) == 0 || event->NumFSParticle(13) == 0) return; TLorentzVector Pnu = event->GetNeutrinoIn()->fP; TLorentzVector Pp = event->GetHMFSParticle(2212)->fP; TLorentzVector Ppip = event->GetHMFSParticle(211)->fP; TLorentzVector Pmu = event->GetHMFSParticle(13)->fP; // Get the hadronic mass double hadMass = FitUtils::MpPi(Pp, Ppip); if (hadMass > 1400) return; // Get Adler cos theta double cosThAdler = FitUtils::CosThAdler(Pnu, Pmu, Ppip, Pp); fXVar = cosThAdler; }; bool BNL_CC1ppip_Evt_1DcosthAdler_nu::isSignal(FitEvent *event) { return SignalDef::isCC1pi3Prong(event, 14, 211, 2212,EnuMin,EnuMax); } diff --git a/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.h b/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.h index a60c714..8db8ed7 100644 --- a/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.h +++ b/src/BNL/BNL_CC1ppip_Evt_1DcosthAdler_nu.h @@ -1,38 +1,48 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1PPIP_EVT_1DCOSTHADLER_NU_H_SEEN #define BNL_CC1PPIP_EVT_1DCOSTHADLER_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 12 and related +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 class BNL_CC1ppip_Evt_1DcosthAdler_nu : public Measurement1D { public: BNL_CC1ppip_Evt_1DcosthAdler_nu(nuiskey samplekey); virtual ~BNL_CC1ppip_Evt_1DcosthAdler_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: }; #endif diff --git a/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.cxx b/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.cxx index 03b4826..dd39272 100644 --- a/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.cxx +++ b/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.cxx @@ -1,113 +1,123 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #include "BNL_CC1ppip_Evt_1Dphi_nu.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 12 and related +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 //******************************************************************** BNL_CC1ppip_Evt_1Dphi_nu::BNL_CC1ppip_Evt_1Dphi_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1ppip_Evt_1Dphi_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("#phi_{Adler}"); fSettings.SetYTitle("Number of events"); fSettings.SetAllowedTypes("EVT/SHAPE/DIAG", "EVT/SHAPE/DIAG"); fSettings.SetEnuRange(0.0, 6.0); fSettings.DefineAllowedTargets("D,H"); // CCQELike plot information fSettings.SetTitle("BNL_CC1ppip_Evt_1Dphi_nu"); fSettings.SetDataInput( FitPar::GetDataBase() + "/BNL/CC1pip_on_p/BNL_CC1ppip_W14_phiAdler.csv" ); fSettings.DefineAllowedSpecies("numu"); FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/Nucleon fScaleFactor =GetEventHistogram()->Integral("width")/(fNEvents+0.)*2./1.; // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetPoissonErrors(); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1ppip_Evt_1Dphi_nu::FillEventVariables(FitEvent *event) { fXVar = -999.99; if (event->NumFSParticle(2212) == 0 || event->NumFSParticle(211) == 0 || event->NumFSParticle(13) == 0) return; TLorentzVector Pnu = event->GetNeutrinoIn()->fP; TLorentzVector Pp = event->GetHMFSParticle(2212)->fP; TLorentzVector Ppip = event->GetHMFSParticle(211)->fP; TLorentzVector Pmu = event->GetHMFSParticle(13)->fP; // Get the hadronic mass double hadMass = FitUtils::MpPi(Pp, Ppip); if (hadMass > 1400) return; // Get phi Adler double phi = FitUtils::PhiAdler(Pnu, Pmu, Ppip, Pp); fXVar = phi; }; bool BNL_CC1ppip_Evt_1Dphi_nu::isSignal(FitEvent *event) { return SignalDef::isCC1pi3Prong(event, 14, 211, 2212,EnuMin,EnuMax); } /* void BNL_CC1ppip_Evt_1Dphi_nu::FillHistograms() { if (makeHadronicMassHist) { hadMassHist->Fill(hadMass); } Measurement1D::FillHistograms(); } void BNL_CC1ppip_Evt_1Dphi_nu::ScaleEvents() { PlotUtils::FluxUnfoldedScaling(fMCHist, GetFluxHistogram()); PlotUtils::FluxUnfoldedScaling(fMCFine, GetFluxHistogram()); fMCHist->Scale(fScaleFactor); fMCFine->Scale(fScaleFactor); return; } */ diff --git a/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.h b/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.h index 867c0a7..d9b077f 100644 --- a/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.h +++ b/src/BNL/BNL_CC1ppip_Evt_1Dphi_nu.h @@ -1,39 +1,49 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1PPIP_EVT_1DPHI_NU_H_SEEN #define BNL_CC1PPIP_EVT_1DPHI_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 12 and related +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 class BNL_CC1ppip_Evt_1Dphi_nu : public Measurement1D { public: BNL_CC1ppip_Evt_1Dphi_nu(nuiskey samplekey); virtual ~BNL_CC1ppip_Evt_1Dphi_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: TRandom3 rand; }; #endif diff --git a/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.cxx b/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.cxx index e4a9675..cf78d78 100644 --- a/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.cxx +++ b/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.cxx @@ -1,117 +1,128 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #include "BNL_CC1ppip_XSec_1DEnu_nu.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 7 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 + //******************************************************************** BNL_CC1ppip_XSec_1DEnu_nu::BNL_CC1ppip_XSec_1DEnu_nu(nuiskey samplekey) { //******************************************************************** // Sample overview --------------------------------------------------- std::string descrip = "BNL_CC1ppip_XSec_1DEnu_nu sample. \n" \ "Target: D2 \n" \ "Flux: \n" \ "Signal: \n"; // Setup common settings fSettings = LoadSampleSettings(samplekey); fSettings.SetDescription(descrip); fSettings.SetXTitle("E_{#nu} (GeV)"); fSettings.SetYTitle("#sigma (cm^{2}/proton)"); fSettings.SetAllowedTypes("FIX/DIAG", "FIX,FREE,SHAPE/DIAG"); fSettings.SetEnuRange(0.0, 6.0); fSettings.SetS("norm_error", "0.15"); fSettings.DefineAllowedTargets("D,H"); // plot information fSettings.SetTitle("BNL_CC1ppip_XSec_1DEnu_nu"); fSettings.DefineAllowedSpecies("numu"); // User can specifiy to use uncorrected data UseCorrectedData = !fSettings.Found("name", "Uncorr"); // User can specify 1.4 or no W cut if (fSettings.Found("name", "W14Cut")) wTrueCut = 1.4; else wTrueCut = 10.0; // Now read in different data depending on what the user has specified std::string DataLocation = GeneralUtils::GetTopLevelDir() + "/data/BNL/CC1pip_on_p/"; // If we're using corrected data if (UseCorrectedData) { if (wTrueCut == 1.4) { DataLocation += "BNL_CC1pip_on_p_W14_1986_corr.txt"; fSettings.SetEnuRange(0.5, 3.0); } else { DataLocation += "BNL_CC1pip_on_p_1986_corr.txt"; fSettings.SetEnuRange(0.4, 4.0); } // If we're using raw uncorrected data } else { if (wTrueCut == 1.4) { DataLocation += "BNL_CC1pip_on_p_W14_1986.txt"; fSettings.SetEnuRange(0.6, 3.0); } else { DataLocation += "BNL_CC1pip_on_p_1986.txt"; fSettings.SetEnuRange(0.5, 14.0); } } fSettings.SetDataInput(DataLocation); FinaliseSampleSettings(); // Scaling Setup --------------------------------------------------- // ScaleFactor automatically setup for DiffXSec/cm2/proton fScaleFactor = (GetEventHistogram()->Integral("width") * 1E-38) / ((fNEvents + 0.)) * 2. / 1.; // Plot Setup ------------------------------------------------------- SetDataFromTextFile( fSettings.GetDataInput() ); SetCovarFromDiagonal(); // Final setup --------------------------------------------------- FinaliseMeasurement(); }; void BNL_CC1ppip_XSec_1DEnu_nu::FillEventVariables(FitEvent *event) { if (event->NumFSParticle(2212) == 0 || event->NumFSParticle(211) == 0 || event->NumFSParticle(13) == 0) return; TLorentzVector Pnu = event->GetNeutrinoIn()->fP; TLorentzVector Pp = event->GetHMFSParticle(2212)->fP; TLorentzVector Ppip = event->GetHMFSParticle(211)->fP; TLorentzVector Pmu = event->GetHMFSParticle(13)->fP; double hadMass = FitUtils::MpPi(Pp, Ppip); double Enu = -1.0; if (hadMass/1000. < wTrueCut) { Enu = Pnu.E() / 1000.; } fXVar = Enu; return; }; bool BNL_CC1ppip_XSec_1DEnu_nu::isSignal(FitEvent *event) { return SignalDef::isCC1pi3Prong(event, 14, 211, 2212, EnuMin, EnuMax); } diff --git a/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.h b/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.h index 61592da..a69c357 100644 --- a/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.h +++ b/src/BNL/BNL_CC1ppip_XSec_1DEnu_nu.h @@ -1,38 +1,48 @@ // Copyright 2016 L. Pickering, P Stowell, R. Terri, C. Wilkinson, C. Wret /******************************************************************************* * This file is part of NUISANCE. * * NUISANCE is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * NUISANCE is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NUISANCE. If not, see . *******************************************************************************/ #ifndef BNL_CC1PPIP_XSEC_1DENU_NU_H_SEEN #define BNL_CC1PPIP_XSEC_1DENU_NU_H_SEEN #include "Measurement1D.h" +// T. Kitagaki et al. "Charged-current exclusive pion production in neutrino-deuterium interactions" +// Physical Review D, Volume 34, Number 9, 1 Nov 1986 +// Figure 7 +// +// Also see +// N. J. Baker et al. "Study of the isospin structure of single-pion production in charged-current neutrino interactions" +// Physical Review D, Volume 23, Number 11, 1 June 1981 +// +// K. Furuno et al. NuInt02 proceedings, (supposedly published in Nucl. Phys. B but I never found it), Retreieved from KEK preprints. +// KEK Preprint 2003-48, RCNS-03-01, September 2003 class BNL_CC1ppip_XSec_1DEnu_nu : public Measurement1D { public: BNL_CC1ppip_XSec_1DEnu_nu(nuiskey samplekey); virtual ~BNL_CC1ppip_XSec_1DEnu_nu() {}; void FillEventVariables(FitEvent *event); bool isSignal(FitEvent *event); private: double wTrueCut; bool UseCorrectedData; }; #endif