### Check Git Version Source: https://github.com/trexstats/trexfitter/blob/master/CONTRIBUTING.md Verify the installed Git version on the system. This is a basic setup step. ```bash git --version ``` -------------------------------- ### Setup TRExFitter Environment Source: https://github.com/trexstats/trexfitter/blob/master/README.md Use these commands to set up the StatAnalysis environment, which includes TRExFitter. Ensure you have the correct version of StatAnalysis installed. ```bash setupATLAS asetup StatAnalysis,0.7.3 ``` -------------------------------- ### Configure EFT Setup Source: https://context7.com/trexstats/trexfitter/llms.txt Define EFT parameters, including ranges for Wilson coefficients, EFT order, and binning strategy. ```plaintext EFTConfig: "eft_setup" ParameterMinMax: cHt,-10,10:cHQ1,-5,5 EFTOrder: ALL SplitSamplePerBin: TRUE ``` -------------------------------- ### Set Output Directories Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Specifies the output directories for runtime artifacts, libraries, and installable libraries. This helps organize build outputs. ```cmake set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib ) set( CMAKE_INSTALL_LIBDIR ${CMAKE_BINARY_DIR}/lib ) ``` -------------------------------- ### Commit changes and push to GitLab Source: https://github.com/trexstats/trexfitter/blob/master/CONTRIBUTING.md Follow these steps to commit local changes and push them to your GitLab repository. Ensure you are on a clean, up-to-date branch before starting. ```bash cd TRExFitter git status # start from a clean state, up-to-date with the origin git remote add upstream ssh://git@gitlab.cern.ch:7999/TRExStats/TRExFitter.git # sets upstream to the main repository, you only need to do this once git fech upstream # downloads the changes from upstream repository git rebase upstream/master # rebase on top of the upstream/master branch git checkout -b some-project # put your work on a branch git diff # look at the diff between current HEAD and local version to see what you will add git add # add files you want to change git commit -m "your commit message" some.txt file.txt # commit files and prompt editor for commit message git push -u origin some-project # push your changes to gitlab, parameter -u sets upstream git checkout master # to go back to the origin, to be able to synchronise with it again ``` -------------------------------- ### Configure Morphing Parameter Source: https://context7.com/trexstats/trexfitter/llms.txt Define the morphing parameter itself, including its fit function, starting value, and limits. ```plaintext Morphing: "mass_morph" FitFunction: QUADRATIC ParamStartValue: 750 ParamLimits: 500,1000 ``` -------------------------------- ### TRExFitter Citation Example Source: https://github.com/trexstats/trexfitter/blob/master/README.md BibTeX entry for citing TRExFitter in publications. Includes author, title, publisher, DOI, and URL. ```bibtex @software{TRExFitter, author = {{ATLAS Collaboration}}, title = {TRExFitter}, publisher = {Zenodo}, doi = {10.5281/zenodo.14845712}, url = {https://doi.org/10.5281/zenodo.14845712}, } ``` -------------------------------- ### Configure Asymptotic and Toy-Based Upper Limits Source: https://context7.com/trexstats/trexfitter/llms.txt Use ASYMPTOTIC for quick estimates or TOYS for more robust, toy-based limits. Ensure POI is correctly specified. ```plaintext Limit: "limit" LimitType: ASYMPTOTIC LimitBlind: TRUE POI: mu_signal ConfidenceLevel: 0.95 SignalInjection: FALSE ``` ```plaintext Limit: "limit_toys" LimitType: TOYS LimitBlind: FALSE POI: mu_signal SplusBToys: 10000 BonlyToys: 10000 ScanSteps: 20 ScanMin: 0 ScanMax: 5 ToysSeed: 12345 ``` -------------------------------- ### Find and Include xRooFit Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Attempts to find the xRooFit package. If not found, it includes the local xroofit directory as a subdirectory. ```cmake if( NOT USE_LOCAL_XROOFIT ) find_package( xRooFit QUIET ) endif() if( NOT xRooFit_FOUND ) include_directories( xroofit ) add_subdirectory( xroofit ) endif() ``` -------------------------------- ### Configure Individual Fit Configurations for Combination Source: https://context7.com/trexstats/trexfitter/llms.txt Specify configuration files for individual channels that will be combined. ```plaintext Fit: "channel1" ConfigFile: config/channel1.config Label: "Channel 1" ``` ```plaintext Fit: "channel2" ConfigFile: config/channel2.config Label: "Channel 2" ``` -------------------------------- ### Run TRExFitter Command Line Steps Source: https://context7.com/trexstats/trexfitter/llms.txt Execute various TRExFitter analysis steps using the `trex-fitter` command-line tool. Each command corresponds to a specific stage of the analysis workflow. ```bash trex-fitter h config/myFit.config ``` ```bash trex-fitter n config/myFit.config ``` ```bash trex-fitter w config/myFit.config ``` ```bash trex-fitter f config/myFit.config ``` ```bash trex-fitter dp config/myFit.config ``` ```bash trex-fitter x config/myFit.config ``` ```bash trex-fitter r config/myFit.config ``` ```bash trex-fitter l config/myFit.config ``` ```bash trex-fitter s config/myFit.config ``` ```bash trex-fitter hwf config/myFit.config ``` ```bash trex-fitter mwf config/myMultiFit.config ``` ```bash trex-fitter hwf config/myFit.config "Regions=SR1,SR2:Samples=ttbar,signal" ``` -------------------------------- ### Configure Asymptotic and Toy-Based Significance Source: https://context7.com/trexstats/trexfitter/llms.txt Set up significance calculations using ASYMPTOTIC for speed or TOYS for toy-based results. POIAsimov is relevant for asymptotic calculations. ```plaintext Significance: "significance" SignificanceType: ASYMPTOTIC SignificanceBlind: FALSE POI: mu_signal POIAsimov: 1 ``` ```plaintext Significance: "significance_toys" SignificanceType: TOYS SplusBToys: 10000 BonlyToys: 10000 ToysSeed: 12345 ``` -------------------------------- ### Configure xRooFit Usage Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Controls whether to use a local xRooFit submodule or a system-installed version. Defaults to using a local submodule if not explicitly set. ```cmake set(USE_LOCAL_XROOFIT TRUE CACHE BOOL "If true will use xroofit submodule") ``` -------------------------------- ### TRExFitter Configuration - Sample Block (Background) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a background sample. Specify type, title, fill color, line color, and histogram file. ```config Sample: "ttbar" Type: BACKGROUND Title: "t#bar{t}" FillColor: 0 LineColor: 1 HistoFile: "ttbar" ``` -------------------------------- ### Configure SM Reference Sample for EFT Source: https://context7.com/trexstats/trexfitter/llms.txt Define the Standard Model reference sample for EFT calculations, specifying its title and histogram file. ```plaintext Sample: "SM_reference" Type: BACKGROUND Title: "SM" HistoFile: "sm_prediction" ``` -------------------------------- ### Configure EFT Analysis Job Source: https://context7.com/trexstats/trexfitter/llms.txt Set up the main job configuration for an Effective Field Theory analysis. ```plaintext Job: "EFTAnalysis" FitType: EFT ``` -------------------------------- ### Configure Comparison Fit Source: https://context7.com/trexstats/trexfitter/llms.txt Set up a multi-fit configuration for comparing results, enabling comparison of POIs and pulls. ```plaintext MultiFit: "Comparison" Combine: FALSE Compare: TRUE ComparePOI: TRUE ComparePulls: TRUE POI: mu_signal ``` -------------------------------- ### Project Name and Version Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Defines the project name. This is used for identification within CMake. ```cmake project( TRExFitter ) ``` -------------------------------- ### Configure C++ Standard Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Sets the required and target C++ standards for the build. C++17 is set as the standard, with C++11 as the minimum requirement. Compiler extensions are disabled. ```cmake set( CMAKE_CXX_STANDARD_REQUIRED 11 CACHE STRING "Minimum C++ standard required for the build" ) set( CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard to use for the build" ) set( CMAKE_CXX_EXTENSIONS FALSE CACHE BOOL "(Dis)allow using compiler extensions" ) ``` -------------------------------- ### Configure Git User Information Source: https://github.com/trexstats/trexfitter/blob/master/CONTRIBUTING.md Set the global Git configuration for username and email. This is essential for identifying commits. Also configures UI and editor preferences. ```bash git config --global user.name "First Last" git config --global user.email "first.last@cern.ch" git config --global color.ui auto git config --global core.editor "emacs -nw" ``` -------------------------------- ### TRExFitter Ntuple Configuration - Sample Block Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a signal sample for ntuple-based analysis. Specify type, title, ntuple file name, and MC weight. ```config Sample: "ttH" Type: SIGNAL Title: "ttH" NtupleFile: "ttH_nominal" MCweight: "weight_ttH" ``` -------------------------------- ### Build TRExUtils Library Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Defines and builds the TRExUtils library, which contains auxiliary classes for TRExFitter styling. It explicitly lists header and source files and links against ROOT libraries. ```cmake set( _trex_utils_headers StyleUtils/TRExLabels.h StyleUtils/TRExStyle.h StyleUtils/TRExUtils.h ) set( _trex_utils_sources StyleUtils/TRExLabels.C StyleUtils/TRExStyle.C StyleUtils/TRExUtils.C ) add_library( TRExUtils SHARED ${_trex_utils_headers} ${_trex_utils_sources} ) target_include_directories( TRExUtils PUBLIC ${ROOT_INCLUDE_DIRS} $ $ ) target_link_libraries( TRExUtils ${ROOT_LIBRARIES} ) ``` -------------------------------- ### TRExFitter Configuration - Sample Block (Data) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines the data sample. Specify type, title, and the histogram file. ```config Sample: "Data" Type: DATA Title: "Data" HistoFile: "data" ``` -------------------------------- ### Build SystematicSmoothingTool Library Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Defines and builds the SystematicSmoothingTool library. It bypasses the library's own CMakeLists.txt to avoid external dependencies and explicitly lists sources and includes. ```cmake set( _syst_smoothing_tool_sources SystematicSmoothingTool/Root/PlotHist.cxx SystematicSmoothingTool/Root/SmoothHist.cxx SystematicSmoothingTool/Root/SmoothingTool.cxx SystematicSmoothingTool/Root/TRExTools.cxx ) add_library( SystematicSmoothingTool SHARED ${_syst_smoothing_tool_sources} ) target_include_directories( SystematicSmoothingTool PUBLIC ${ROOT_INCLUDE_DIRS} $ $ ) target_link_libraries( SystematicSmoothingTool ${ROOT_LIBRARIES} ) ``` -------------------------------- ### Find AnalysisBase Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Attempts to find the AnalysisBase package. This is an optional dependency. ```cmake find_package( AnalysisBase QUIET) ``` -------------------------------- ### Include and Add yaml-cpp Subdirectory Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Includes the yaml-cpp library's include directories and adds it as a subdirectory if AnalysisBase is not found. This ensures yaml-cpp is available for the build. ```cmake include_directories( yaml-cpp ) if(NOT ${AnalysisBase_FOUND}) add_subdirectory( yaml-cpp ) endif() ``` -------------------------------- ### TRExFitter Configuration - Sample Block (Signal) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines the signal sample. Specify type, title, fill color, line color, and histogram file. ```config Sample: "Signal" Type: SIGNAL Title: "Signal" FillColor: 632 LineColor: 632 HistoFile: "signal" ``` -------------------------------- ### Configure Unfolding Sample Source: https://context7.com/trexstats/trexfitter/llms.txt Specify details for a particular sample used in unfolding, including its response matrix file and associated regions. ```plaintext UnfoldingSample: "ttbar_unfold" Title: "t#bar{t}" ResponseMatrixFile: "response_ttbar" ResponseMatrixName: "h_response_ttbar" Regions: SR_unfold ``` -------------------------------- ### Enable Compile Commands Export Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Enables the generation of a compile_commands.json file, useful for IDE integration and code analysis tools. ```cmake set(CMAKE_EXPORT_COMPILE_COMMANDS ON) ``` -------------------------------- ### Configure Template Morphing Job Source: https://context7.com/trexstats/trexfitter/llms.txt Set up the job for template morphing, enabling smoothing of morphed templates. ```plaintext Job: "MorphingAnalysis" SmoothMorphingTemplates: TRUE ``` -------------------------------- ### Configure Signal Sample for Morphing Source: https://context7.com/trexstats/trexfitter/llms.txt Define signal samples for morphing, specifying their type, title, and the parameter and value for morphing. ```plaintext Sample: "signal_m500" Type: SIGNAL Title: "Signal (m=500)" Morphing: "mass",500 ``` ```plaintext Sample: "signal_m750" Type: SIGNAL Title: "Signal (m=750)" Morphing: "mass",750 ``` ```plaintext Sample: "signal_m1000" Type: SIGNAL Title: "Signal (m=1000)" Morphing: "mass",1000 ``` -------------------------------- ### Configure Unfolding Analysis Job Source: https://context7.com/trexstats/trexfitter/llms.txt Set up the main job configuration for unfolding, specifying paths and names for the response matrix. ```plaintext Job: "UnfoldingAnalysis" FitType: UNFOLDING ResponseMatrixPath: "matrices/" ResponseMatrixFile: "response" ResponseMatrixName: "h_response" ``` -------------------------------- ### Configure Combined Fit Source: https://context7.com/trexstats/trexfitter/llms.txt Set up a combined fit across multiple channels. Specify labels, POI, and whether to combine or compare results. ```plaintext MultiFit: "Combination" Label: "Combined Fit" Combine: TRUE Compare: FALSE POI: mu_signal CmeLabel: "13 TeV" LumiLabel: "140 fb^{-1}" ``` -------------------------------- ### TRExFitter Ntuple Configuration - Job Block Source: https://context7.com/trexstats/trexfitter/llms.txt Configures a TRExFitter job to read directly from ROOT ntuples. Specify ntuple paths, weights, selections, and luminosity. ```config Job: "NtupleAnalysis" ReadFrom: NTUP NtuplePaths: "/data/ntuples/" NtupleName: "nominal" MCweight: "weight*sf_btag*sf_lepton" Selection: "nJets>=4 && nBtags>=2" Lumi: 140000 ``` -------------------------------- ### Find ROOT Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Finds the ROOT data analysis framework, requiring specific components. This is a critical dependency for the project. ```cmake find_package( ROOT 6.24.00 REQUIRED COMPONENTS Core MathCore HistFactory Graf Rio Tree Gpad ) ``` -------------------------------- ### Add Blinder Subdirectory Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Includes the Blinder directory as a subdirectory, allowing its CMakeLists.txt to be processed and its targets to be built. ```cmake include_directories( Blinder ) add_subdirectory( Blinder ) ``` -------------------------------- ### Enable CTest Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Includes the CTest module to enable testing capabilities within the project. ```cmake include( CTest ) ``` -------------------------------- ### Configure yaml-cpp Build Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Sets build options for the yaml-cpp library, disabling tests and tools. This is typically done when yaml-cpp is included as a subdirectory. ```cmake set( YAML_CPP_BUILD_TESTS OFF ) set( YAML_CPP_BUILD_TOOLS OFF ) ``` -------------------------------- ### Configure EFT Interference Sample Source: https://context7.com/trexstats/trexfitter/llms.txt Define an EFT sample representing interference terms, linking it to the SM reference and specifying the EFT parameter and value. ```plaintext Sample: "EFT_cHt" Type: EFT Title: "cHt interference" EFTSMReference: SM_reference EFTParam: cHt EFTValue: 1.0 HistoFile: "eft_cHt" ``` -------------------------------- ### Configure EFT Squared Term Sample Source: https://context7.com/trexstats/trexfitter/llms.txt Define an EFT sample representing squared terms of an EFT parameter, linking it to the SM reference. ```plaintext Sample: "EFT_cHt_sq" Type: EFT Title: "cHt^2" EFTSMReference: SM_reference EFTParam: cHt EFTValue: 1.0 HistoFile: "eft_cHt_squared" ``` -------------------------------- ### Create a merge request Source: https://github.com/trexstats/trexfitter/blob/master/CONTRIBUTING.md After pushing your branch to your fork (origin), you can create a merge request to integrate your changes into the upstream repository. Click the 'Create merge request' button and provide a description. ```bash git pull # is combination of git fetch and git merge, example: git pull upstream master git checkout -- # remove local changes on files in git merge # merges into your current branch git branch -a # prints all local and remote branches git branch -D # delete local branch ``` -------------------------------- ### Configure Plotting Options in TRExFitter Source: https://context7.com/trexstats/trexfitter/llms.txt Define image formats, ratio plot settings, and legend appearance. Use these options to customize the output of your analysis plots. ```yaml Job: "MyAnalysis" ImageFormat: "png,pdf,eps" RatioYmin: 0.5 RatioYmax: 1.5 RatioYtitle: "Data/Pred." RatioType: DATAOVERMC SummaryPlotYmax: 1.5 SummaryLogY: FALSE DoSummaryPlot: TRUE DoMergedPlot: TRUE DoTables: TRUE DoPieChartPlot: TRUE DoSignalRegionsPlot: TRUE PlotOptions: "NOXERR,CHI2" LabelX: 0.2 LabelY: 0.87 LegendX1: 0.6 LegendX2: 0.9 LegendY: 0.7 LegendNColumns: 2 Region: "SR" LogScale: TRUE Ymin: 0.1 Ymax: 10000 RatioYmin: 0.7 RatioYmax: 1.3 ``` -------------------------------- ### Configure 1D and 2D Likelihood Scans Source: https://context7.com/trexstats/trexfitter/llms.txt Define parameters for 1D and 2D likelihood scans. Specify the parameter to scan, range, and number of steps. ```plaintext Fit: "myfit" FitType: SPLUSB doLHscan: mu_signal LHscanMin: 0 LHscanMax: 3 LHscanSteps: 30 ``` ```plaintext Fit: "fit_2d" FitType: SPLUSB do2DLHscan: mu_signal,mu_ttbar LHscanMin: 0 LHscanMax: 3 LHscanSteps: 20 LHscanMinY: 0.5 LHscanMaxY: 1.5 LHscanStepsY: 20 ``` -------------------------------- ### Combine Multiple Systematic Sources Source: https://context7.com/trexstats/trexfitter/llms.txt Configure how multiple systematic sources, like PDF variations, are combined. ENVELOPE is a common combination type. ```plaintext Systematic: "PDF_set" Title: "PDF" Type: HISTO Samples: all CombineName: "PDF_combined" CombineType: ENVELOPE HistoNameSufUp: "_PDF_0_up" HistoNameSufDown: "_PDF_0_down" ``` ```plaintext Systematic: "PDF_alpha" Title: "PDF alpha_s" Type: HISTO Samples: all CombineName: "PDF_combined" CombineType: ENVELOPE HistoNameSufUp: "_PDF_alpha_up" HistoNameSufDown: "_PDF_alpha_down" ``` -------------------------------- ### TRExFitter Ntuple Configuration - Region Block Source: https://context7.com/trexstats/trexfitter/llms.txt Defines an analysis region for ntuple-based analysis. Specify variable, binning, selection criteria, label, and ntuple path suffix. ```config Region: "SR_4j2b" Type: SIGNAL Variable: "mbb/1e3",20,0,500 VariableTitle: "m_{bb} [GeV]" Selection: "nJets==4 && nBtags==2" Label: "4j, 2b" NtuplePathSuff: "4j2b" ``` -------------------------------- ### Configure AVX Optimisation Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Enables or disables AVX (Advanced Vector Extensions) optimizations for the build. Defaults to enabled. ```cmake set(TREXFITTER_AVX_OPTIMISATION TRUE CACHE BOOL "If true use AVX optimisation") ``` -------------------------------- ### Clone TRExFitter Repository Source: https://github.com/trexstats/trexfitter/blob/master/CONTRIBUTING.md Clone the TRExFitter repository from the GitLab server using SSH. This command sets up a clean development area. ```bash git clone ssh://git@gitlab.cern.ch:7999//TRExFitter.git ``` -------------------------------- ### TRExFitter Configuration - Job Block Source: https://context7.com/trexstats/trexfitter/llms.txt Defines global settings for a TRExFitter analysis job. Specify analysis name, center-of-mass energy, point of interest, input source, and output options. ```config Job: "MyAnalysis" CmeLabel: "13 TeV" POI: "mu_signal" ReadFrom: HIST HistoPath: "inputs/" Label: "My Analysis" LumiLabel: "140 fb^{-1}" Lumi: 140000 MCstatThreshold: 0.01 SystPruningShape: 0.01 SystPruningNorm: 0.01 DebugLevel: 1 ImageFormat: "png" DoSummaryPlot: TRUE DoTables: TRUE ``` -------------------------------- ### Decorrelate Systematic by Sample Source: https://context7.com/trexstats/trexfitter/llms.txt Configure a systematic uncertainty to be decorrelated across different samples. Specify suffix for up/down variations. ```plaintext Systematic: "Modelling" Title: "Modelling" Type: HISTO Samples: ttbar,singletop HistoNameSufUp: "_model_up" HistoNameSufDown: "_model_down" Decorrelate: SAMPLE ``` -------------------------------- ### Configure Unfolding Details Source: https://context7.com/trexstats/trexfitter/llms.txt Define specific parameters for the unfolding process, including truth distribution details and binning. ```plaintext Unfolding: "pT_unfolding" MatrixOrientation: TRUTHONHORIZONTAL TruthDistributionPath: "truth/" TruthDistributionFile: "truth_distributions" TruthDistributionName: "h_pT_truth" NumberOfTruthBins: 10 TitleX: "p_{T} [GeV]" TitleY: "d#sigma/dp_{T} [pb/GeV]" DivideByBinWidth: TRUE UnfoldNormXSec: FALSE ``` -------------------------------- ### Set Minimum CMake Version Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Specifies the minimum CMake version required for the project. Ensure your CMake version meets this requirement. ```cmake cmake_minimum_required( VERSION 3.10 ) ``` -------------------------------- ### Override TRExFitter Configuration via Command Line Source: https://context7.com/trexstats/trexfitter/llms.txt Modify analysis parameters such as regions, samples, and systematics directly from the command line. This allows for quick adjustments without editing configuration files. ```bash # Select specific regions trex-fitter hwf config/fit.config "Regions=SR1,SR2" ``` ```bash # Select specific samples trex-fitter hwf config/fit.config "Samples=ttbar,signal" ``` ```bash # Select specific systematics trex-fitter hwf config/fit.config "Systematics=JES,JER" ``` ```bash # Exclude regions/samples trex-fitter hwf config/fit.config "Exclude=VR1,VR2" ``` ```bash # Run specific LH scan step (for parallelization) trex-fitter x config/fit.config "LHscanStep=5" ``` ```bash # Override debug level trex-fitter hwf config/fit.config "DebugLevel=2" ``` ```bash # Run ranking for specific NPs trex-fitter r config/fit.config "Ranking=JES,JER,BTag" ``` ```bash # Set constant parameters trex-fitter f config/fit.config "ConstNFs=mu_bkg:1.0" ``` ```bash # Force recreation of binning files trex-fitter h config/fit.config "RecreateBinningFiles=TRUE" ``` -------------------------------- ### TRExFitter Configuration - Fit Block Source: https://context7.com/trexstats/trexfitter/llms.txt Configures the fitting procedure. Specify fit type, region, and options for the point of interest (POI) and Minuit. ```config Fit: "myfit" FitType: SPLUSB FitRegion: CRSR POIAsimov: 1 UseMinos: mu_signal FitBlind: FALSE ``` -------------------------------- ### TRExFitter Ntuple Configuration - Systematic Block (Weight) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a systematic uncertainty based on weights for ntuple analysis. Specify title, type, sample association, and weight suffixes for variations. ```config Systematic: "BTagSF" Title: "b-tagging SF" Type: HISTO Samples: all WeightSufUp: "sf_btag_up/sf_btag" WeightSufDown: "sf_btag_down/sf_btag" Symmetrisation: TWOSIDED ``` -------------------------------- ### TRExFitter Configuration - Region Block (Signal) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a signal region for the analysis. Specify histogram name, variable title, and binning. ```config Region: "SignalRegion" Type: SIGNAL HistoName: "h_mtt_SR" VariableTitle: "m_{tt} [GeV]" Label: "Signal Region" Binning: 200,400,600,800,1000,1500 ``` -------------------------------- ### Set C++ Warning Flags Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Configures the C++ compiler warning flags to enhance code quality and catch potential issues. Includes common flags like -Wall, -Wextra, and optimization flags. ```cmake set( CMAKE_CXX_FLAGS "-Wall -Wextra -Wshadow -pedantic -O3 -g -fPIC" ) ``` -------------------------------- ### TRExFitter Configuration - Systematic Block (Overall) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines an overall systematic uncertainty. Specify title, type, up/down variations, samples, and category. ```config Systematic: "Lumi" Title: "Luminosity" Type: OVERALL OverallUp: 0.02 OverallDown: -0.02 Samples: all Category: Instrumental ``` -------------------------------- ### TRExFitter Configuration - Region Block (Control) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a control region for the analysis. Specify histogram name, variable title, and binning. ```config Region: "ControlRegion" Type: CONTROL HistoName: "h_mtt_CR" VariableTitle: "m_{tt} [GeV]" Label: "Control Region" Binning: 200,400,600,800,1000 ``` -------------------------------- ### Add UnfoldingCode Subdirectory Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Includes the UnfoldingCode directory as a subdirectory, allowing its CMakeLists.txt to be processed and its targets to be built. ```cmake include_directories( UnfoldingCode ) add_subdirectory( UnfoldingCode ) ``` -------------------------------- ### TRExFitter Ntuple Configuration - Systematic Block (Ntuple Name) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a systematic uncertainty using different ntuple names for variations in ntuple-based analysis. Specify title, type, sample association, and ntuple names for up/down variations. ```config Systematic: "JES_NP1" Title: "JES NP1" Type: HISTO Samples: all NtupleNameUp: "JES_NP1__1up" NtupleNameDown: "JES_NP1__1down" Smoothing: 40 ``` -------------------------------- ### TRExFitter Configuration - NormFactor Block (Background) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a normalization factor for a background sample. Specify title, nominal value, range, and associated samples. ```config NormFactor: "mu_ttbar" Title: "k_{t#bar{t}}" Nominal: 1 Min: 0.5 Max: 1.5 Samples: ttbar ``` -------------------------------- ### Configure Unfolding Systematic Source: https://context7.com/trexstats/trexfitter/llms.txt Define systematic uncertainties for unfolding, specifying up/down variations of the response matrix. ```plaintext UnfoldingSystematic: "JES_unfold" Title: "JES" Type: HISTO Samples: ttbar_unfold ResponseMatrixNameUp: "h_response_JES_up" ResponseMatrixNameDown: "h_response_JES_down" Symmetrisation: TWOSIDED ``` -------------------------------- ### TRExFitter Configuration - NormFactor Block (Signal) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a normalization factor for a sample. Specify title, nominal value, range, and associated samples. ```config NormFactor: "mu_signal" Title: "#mu_{signal}" Nominal: 1 Min: 0 Max: 5 Samples: Signal ``` -------------------------------- ### Set Policy CMP0077 Source: https://github.com/trexstats/trexfitter/blob/master/CMakeLists.txt Sets CMake policy CMP0077 to NEW. This policy relates to the behavior of find_package when a package is not found. ```cmake set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) ``` -------------------------------- ### Decorrelate Systematic by Region Source: https://context7.com/trexstats/trexfitter/llms.txt Configure a systematic uncertainty to be decorrelated across different regions. Specify suffix for up/down variations. ```plaintext Systematic: "JES_regional" Title: "JES" Type: HISTO Samples: all HistoNameSufUp: "_JES_up" HistoNameSufDown: "_JES_down" Decorrelate: REGION ``` -------------------------------- ### Configure Normalization Factor for Morphing Source: https://context7.com/trexstats/trexfitter/llms.txt Define a normalization factor used in morphing, specifying its title, nominal value, and limits. ```plaintext NormFactor: "mass" Title: "Signal Mass" Nominal: 750 Min: 500 Max: 1000 ``` -------------------------------- ### TRExFitter Configuration - Systematic Block (Histo) Source: https://context7.com/trexstats/trexfitter/llms.txt Defines a histogram-based systematic uncertainty. Specify title, type, sample association, histogram suffix for variations, smoothing, symmetrisation, and category. ```config Systematic: "JES" Title: "Jet Energy Scale" Type: HISTO Samples: all HistoNameSufUp: "_JES_up" HistoNameSufDown: "_JES_down" Smoothing: 40 Symmetrisation: TWOSIDED Category: Instrumental ``` -------------------------------- ### Link commits to JIRA tickets Source: https://github.com/trexstats/trexfitter/blob/master/CONTRIBUTING.md You can automatically link your commits and merge requests to JIRA tickets by including the ticket ID in the commit message. This will create a comment on the corresponding JIRA ticket. ```bash git commit -m "Working on TTHFITTER-102 - Fixing some pointer initialisation" ``` ```bash Closes TTHFITTER-102 Resolves TTHFITTER-102 Fixes TTHFITTER-102 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.