Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
76db2c5
Added the angular distributions for W1->cs and W2->ud
Jun 25, 2025
bbdae27
cos(phi) calculations with truth variables
Jun 30, 2025
7467d65
uncommented the recojets and added all variables to chi2
Jun 30, 2025
d7eb0d9
added plots using TCanvas
Jul 1, 2025
a6c016d
added the ee correlator calculations
Jul 3, 2025
7e7bc83
Plots from AnalysisWWCR
Jul 3, 2025
ce793e8
corrected to delta-phi
Jul 8, 2025
8d482b9
plots delta-phi, cos-phi, ee correlator, and ratios
Jul 8, 2025
1adc643
modified the function that selects hadronic decays using truth info
Jul 11, 2025
db6ea1a
started the process of adding in the jet constituents
Jul 11, 2025
259c7aa
Python version of Plots_AnalysisWWCR
Jul 14, 2025
53883a2
issue with jet-substructure for-loop (line 461)
Jul 14, 2025
da245b0
Fixed issue with branches and have started calculating the four-vector
Jul 15, 2025
7f89a2b
issue on lines 439-442
Jul 15, 2025
fce7047
includes print statements and minor fixes from previous version
Jul 16, 2025
9dceacb
load RVecDict and compute jet const. LV
Jul 16, 2025
dd0b1fb
commiting before merging branches
Jul 16, 2025
f593f8a
Merge branch 'WW_CR_fix' into WW_CR_kl
Jul 16, 2025
3878acb
modifications before merge
Jul 16, 2025
828f693
added calculation for EE correlations w/ jet substructure
Jul 17, 2025
3433144
started correcting ee calculation
Jul 20, 2025
ffeb43c
modified ee correlation calculation for jet constituents and jets
Jul 20, 2025
4f5c091
fixed issue phi measurements
Jul 24, 2025
2dca02c
add brances to output root file
Jul 24, 2025
ed7b4cc
add simple plotting script
Jul 24, 2025
66698b0
scripts/plotall.C
Jul 24, 2025
37f9dcb
hadronic decay cuts added
Jul 25, 2025
ac41828
added truth level cut
Jul 25, 2025
f0f8bd7
all hadronic decays selected on truth level
Jul 25, 2025
b93e1a8
truth level selection of WW->4q events
Jul 25, 2025
bf80ed4
added mostly complete plots for theta, phi, and chi. Issues with cosi…
Jul 28, 2025
c3e6b87
binning issue with cosine and eec calculations
Jul 28, 2025
fa05044
saving reco-jets to ROOT file
Jul 31, 2025
1ee5eeb
variable binning for momenta plots
Aug 1, 2025
0014b91
all kinematic plots saved to root
Aug 4, 2025
8211dde
loading in SKI_kl variation files
Aug 5, 2025
5f03cf6
SKI_100 variables setup with all plots
Aug 6, 2025
6974686
added SKI w/ kl = 100
Aug 6, 2025
006c49e
SKI w/ kl=100 added to plots
Aug 6, 2025
3c897b9
SKI w/ kl=100 added to all plots
Aug 6, 2025
b4dbf58
all histograms saved as branches
Aug 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 21 additions & 20 deletions PostCutCode/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,48 +1,49 @@
cmake_minimum_required(VERSION 3.8)


project(PostCutCode)
message("announcing PostCutCode")
set(CMAKE_BUILD_TYPE Debug)

add_compile_options(-std=c++17 -fPIC -Wall -Wextra -Wno-unused-parameter -O2)

# You need to tell CMake where to find the ROOT installation. This can be done in a number of ways:
# - ROOT built with classic configure/make use the provided $ROOTSYS/etc/cmake/FindROOT.cmake
# - ROOT built with CMake. Add in CMAKE_PREFIX_PATH the installation prefix for ROOT
list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})

#---Locate the ROOT package and defines a number of variables (e.g. ROOT_INCLUDE_DIRS)
find_package(ROOT REQUIRED COMPONENTS RIO EG Minuit RooFit RooFitCore RooStats HistFactory Core RIO Net Hist Graf Graf3d Gpad Tree Rint Postscript Matrix Physics MathCore Thread MultiProc TMVA)
# find_package(nlohmann_json REQUIRED)

#---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY)
find_package(ROOT REQUIRED COMPONENTS RIO EG Minuit RooFit RooFitCore RooStats HistFactory Core Net Hist Graf Graf3d Gpad Tree Rint Postscript Matrix Physics MathCore Thread MultiProc TMVA)
include(${ROOT_USE_FILE})

# compile options

include_directories(${CMAKE_CURRENT_SOURCE_DIR})
# link_directories(/cvmfs/sw.hsf.org/spackages7/intel-tbb/2020.3/x86_64-centos7-gcc11.2.0-opt/ey3ft/lib /cvmfs/sw.hsf.org/spackages7/zlib/1.2.13/x86_64-centos7-gcc11.2.0-opt/2wmsk/lib)

#---Create a shared library with generated dictionary
# Collect source files
file(GLOB sources "Root/*.cxx")

add_library(PostCutCodeLib SHARED ${sources})
# Generate the dictionary
set(DICT_HEADERS PostCutCode/RVecDict.h)
set(DICT_LINKDEF PostCutCode/LinkDef.h)

ROOT_GENERATE_DICTIONARY(RVecDict
${DICT_HEADERS}
LINKDEF ${DICT_LINKDEF}
)

# Add the shared library and include the dictionary source variable
add_library(PostCutCodeLib SHARED ${sources} ${RVecDict_dictionary})
target_include_directories(PostCutCodeLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(PostCutCodeLib ${ROOT_LIBRARIES})

#---Link the exe files
# Build executables
file(GLOB_RECURSE exe_files "utils/*.cxx")
foreach(_exe_file ${exe_files})
get_filename_component(_theExec ${_exe_file} NAME_WE)
add_executable(${_theExec} ${_exe_file})
target_link_libraries(${_theExec} PostCutCodeLib)
endforeach()

set(ENV{WSCANNER_DATADIR} ${CMAKE_CURRENT_SOURCE_DIR}/data/)


# ---------- Generating the setup.sh file
# Setup script
set(SETUP ${CMAKE_CURRENT_BINARY_DIR}/../setup.sh)
file(WRITE ${SETUP} "#!/bin/bash\n")
file(APPEND ${SETUP} "# this is an auto-generated setup script\n" )
file(APPEND ${SETUP} "# this is an auto-generated setup script\n")
file(APPEND ${SETUP} "export PATH=\${PATH}:${CMAKE_CURRENT_BINARY_DIR}/\n")

# Optional: export data env
set(ENV{WSCANNER_DATADIR} ${CMAKE_CURRENT_SOURCE_DIR}/data/)

39 changes: 39 additions & 0 deletions PostCutCode/PostCutCode/AnalysisWWCR.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,46 @@ class AnalysisWWCR: public AnalysisBase
void run() override;

protected:
std::vector<double> ee_corr;
std::vector<double> theta_corr;
std::vector<double> phi_corr;
std::vector<double> chi_corr;
std::vector<double> delR_corr;
std::vector<double> p_jet_const_1;
std::vector<double> p_jet_const_2;

std::vector<double> p_reco_Jet1;
std::vector<double> p_reco_Jet2;
std::vector<double> p_reco_Jet3;
std::vector<double> p_reco_Jet4;
std::vector<double> theta_Jet1_Jet2;
std::vector<double> theta_Jet3_Jet4;
std::vector<double> theta_Jet1_Jet3;
std::vector<double> theta_Jet2_Jet4;
std::vector<double> theta_Jet1_Jet4;
std::vector<double> theta_Jet2_Jet3;
std::vector<double> phi_Jet1_Jet2;
std::vector<double> phi_Jet3_Jet4;
std::vector<double> phi_Jet1_Jet3;
std::vector<double> phi_Jet2_Jet4;
std::vector<double> phi_Jet1_Jet4;
std::vector<double> phi_Jet2_Jet3;
std::vector<double> chi_Jet1_Jet2;
std::vector<double> chi_Jet3_Jet4;
std::vector<double> chi_Jet1_Jet3;
std::vector<double> chi_Jet2_Jet4;
std::vector<double> chi_Jet1_Jet4;
std::vector<double> chi_Jet2_Jet3;

std::vector<double> mass_W1;
std::vector<double> mass_W2;
std::vector<double> p_W1;
std::vector<double> p_W2;
std::vector<double> e_W1;
std::vector<double> e_W2;
// std::vector<double> delta_R_W_boson;

double mc_weight;

};

Expand Down
5 changes: 5 additions & 0 deletions PostCutCode/PostCutCode/LinkDef.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#ifdef __CLING__
#pragma link C++ class ROOT::VecOps::RVec<float>+;
#pragma link C++ class ROOT::VecOps::RVec<ROOT::VecOps::RVec<float>>+;
#endif

2 changes: 2 additions & 0 deletions PostCutCode/PostCutCode/RVecDict.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#pragma once
#include <ROOT/RVec.hxx>
Loading