• Modified for CCProtonPi0 v1_04 Output
  • All Histograms Types Changed
    • Float to Double
    • TH1F to TH1D
    • TH2F to TH2D
  • Cut Table Statistics
    • Cut_Other: Represents all other cuts which are not tracked by CCProtonPi0 Package
  • Stacked Histogram for Pi0 Invariant Mass


  • New Histograms for preFilter() Results
  • Pi0 invariant mass histogram moved under Pion Class
  • Studies integrated with package
    • Studies folder removed
  • Proton Reconstruction fails even foundProton triggerred as true.
    • I will investigate it on Monday


  • Package can be built now.
    • Dramatic performance improvement
  • A Simple Makefile written – will be improved in future
  • Function call for main changed – see function header


  • Efficiency and Purity calculated for surviving events after each CUT
  • Efficiency = Current Signal/TotalSignal
  • Purity = CurrentSignal/Current Events
  • Excel is used to calculate the Efficiency and Purity.
  • See Research/MINERVA/Deltap_Production/Efficiency_Purity

v3_4 and v3_4a

  • Included Library: Data_Functions.h
    • Simple Error Calculation (reco – true) / true
  • Removed Library: Folder_List.h
  • Compile Status:
    • Fixed a lot of errors and warnings
    • Still package is NOT compiling
  • Fixed errors and warnings improved performance
  • For best performance still I need to be able to compile the package


  • Improved pID_Studies.cpp
  • Dramatically Improved Performance by preselecting the branches that will be used
  • Added Truth Match
  • For Plots and Discussion, See Presentation: Pion Meeting on May 07, 2014


  • CCDeltaPlus Functions distributed into multiple files for easier modification
    • Default_Functions.cpp
    • initHistograms.cpp
    • Muon_Functions.cpp
    • Proton_Functions.cpp
    • Pion_Functions.cpp
  • Studies: Stand alone ROOT Macros for specific studies
    • pID Study
  • Missing Proton Reconstruction vs True Plots for Angle
    • Need Truth Match info
  • Future Version Plan: Poor Performance – NEED Compile


  • Detailed analysis of the Job Submission on 04/16/2014
  • Vertex Reconstruction Quality Check (True vs Reco)
  • findBestProton() – Selects highest score proton from reco sample
  • See Presentation: GroupMeetings/Delta_p/04_17_CCDeltaPlus_Update


  • Package focuses only CCDeltaPlusAna NTuples
    • Other Analysis Classes removed – See previous versions for them
  • Class: CutNumberList Removed
    • Poor performance & handling
    • It was not a good idea at the beginning!
  • Class Particle
    • New variable with 1D Histogram: particleScore
  • Muon and Proton Reco values modified according to CCDeltaPlusAna NTuple output


  • Event Selection Revised
    • New Selection Criteria: nFSParticles == 3 (muon, proton, pi0)
  • CCPi0 Histograms Revised
  • Successfull Run for all minerva1 playlist
    • 1805 Files
    • nEvents = 1.6e+07
  • See Presentation on 03/21/2014 for Detailed Discussion


  • Histogram Handling Improved
    • Each Particle and CCPi0 holds its own histograms and creates specific ROOT Files
    • Particles Holds their specific bin informations using SingleBin Objects
    • CCPi0 holds its bin information using BinList
  • Plotter Class Improved
    • Reads each ROOT File and plots histograms – Default plots for Each Particle
    • Analysis Variables for CCPi0
    • Controls Plotting of specific types:
      • MC
      • Reco
      • 2D Comparison and Error
  • CCPi0 Class have new analysis variables
    • beamEnergy
    • Q2
    • Interaction Channel
    • Vertex Z
    • Number of Final State Particles (Out of Nucleus) – Number of Reconstructed Gammas


  • Improvements for Reconstructed Data
  • Particle Objects are now static instead of dynamic • Particle Class Improvements:
    • Data Stored as arrays with 3 elements
      • data[0] = reconstructed value
      • data[1] = true value
      • data[2] = “error = (true – reco) / true”
    • Momentum and Kinetic Energy added as member variable 


  • Static memory allocation introduced AGAIN for performance
  • Objects for CutNumber significantly slows down the whole package
  • Considering converting the package to be Compiled Package
  • Compile may solve performance issues


  • Package moved under NTuple_Analysis
  • New Class: CCInclusive
    • Specific to CCInclusive NTuples
  • Class: CutNumberList
    • Implemented a LinkedList data structure for CutNumbers
      • Adding a new Cut Number is much easier now.
    • Performance issues: To get a specific Cut Number need to search the whole list until you get the corresponding CutNumber
      • Will be updated in next version
  • New Feauture: channelTag
    • edit the “const string channelTag” under Libraries/Folder_List.h
    • each channel will create its own CutTable.txt and Plots will be generated under different folders
      • Output/TextFiles/CutTable_channelTag.txt
      • Output/Plots/channelTag/*
  • Optimized CutNumberList Performance
    • Predefined pointers for default CutNumbers
    • No need to search for Default CutNumbers
  • Class: Muon
    • Muon Class derived from Particle base class
    • Muon Class inherits all Particle behavior and extend it by muon specific parameters
  • Virtual Function set_angleMuon
    • Virtual function in Particle Base Class redefined under Muon
    • No calculation needed for Muon SubClass, the angleMuon is setted to zero

v1_4 & v1_5

  • Class Optimization
    • All variables declared as pointers
    • CutNumberList  handles CutTable.txt file
  • Particle Class Variables Updated:


// Monte Carlo(MC) and Reconstructed(Reco)

TLorentzVector* p4;                 // 4-Momentum of the Particle (Px,Py,Pz,E)

double* angleBeam;                 // Angle wrt Beam in rads

double* angleMuon;                 // Angle wrt Muon in rads

// MC Only

int ind;                                        // indice for MC truth information

// Reco Only

double pID;                     // Particle Score from Reconstructed Values

double trackLength;                 // Track Length in [mm]


  • All Package revised – New Style for Folder Management
  • Input & Output Folders created. main.cpp controls input output
  • cleanup.sh Function added – Cleans Output Folder
  • main.cpp revised
  • Comments included on all Classes and Libraries
  • Uploaded to GitHub


  • ANA_CCNuPionInc Revised Completely
    • All Unnecessary functions moved to another class HEP_Misc
    • Histogram and Variable Initialization implemented
    • Main Directory changed to Classes/ANA_CCNuPionInc
  • HEP_Misc: New Class
    • Includes Miscellaneous Functions required in the analysis
  • Plotter: No Major Change


  • Folder_List: New Library
    • Includes Folder Locations
    • main.cpp uses this library to form INPUT and OUTPUT strings
  • BIN_List: No Major Change
  • PDG_List: No Major Change