Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

128 lines
7.7 KiB

//Renata Kopecna
#include <iostream>
#include <spdlog.h>
#include <helpers.hh>
void print_help(){
spdlog::set_level(spdlog::level::debug);
spdlog::set_pattern("%^[HELP]%$ %v");
spdlog::debug( "//--------------------------------------------------------------------------\\\\" );
spdlog::debug( "|| FCNC fitter to determine angular coefficients of B+ --> K*+ mu mu. ||" );
spdlog::debug( "\\\\--------------------------------------------------------------------------//" );
spdlog::debug( " Please set the following options:" );
spdlog::debug( "- - - - - - - - - - - - - - - - -" );
spdlog::debug( "- - - - - - MANDATORY - - - - - -" );
spdlog::debug( "- - - - - - - - - - - - - - - - -" );
spdlog::debug( " -r <int> : Select Run number" );
spdlog::debug( " 0 : Optional, use when running per year." );
spdlog::debug( " 1, 2 : Run only on Run 1 or 2" );
spdlog::debug( " 12 : Run on both Runs." );
spdlog::debug( " 21 : Run on 15+16." );
spdlog::debug( " 22 : Run on 17+18." );
spdlog::debug( " -y <int> : Select year" );
spdlog::debug( "- - - - - - - - - - - - - - - - -" );
spdlog::debug( "- - - - - - OPTIONAL - - - - - -" );
spdlog::debug( "- - - - - - - - - - - - - - - - -" );
spdlog::debug( " -a : Get angular resolution." );
spdlog::debug( " -b : Run on a certain numbers of q2 bin." );
spdlog::debug( " -c : Get angular corrections." );
spdlog::debug( " -d <int> : Set dataset");
spdlog::debug( " 0 : Data");
spdlog::debug( " 1 : Signal MC");
spdlog::debug( " 2 : Ref MC");
spdlog::debug( " 3 : PHSP");
spdlog::debug( " 4 : Generator level MC");
spdlog::debug( " 5 : Boosted generator level MC");
spdlog::debug( " -e : Set number of events to be used." );
spdlog::debug( " -f <int> : Run a fit." );
spdlog::debug( " 0 : Background only fit");
spdlog::debug( " 1 : Complete fit");
spdlog::debug( " 2 : Mass fit");
spdlog::debug( " 3 : Method of moments");
spdlog::debug( " 4 : MC fit");
spdlog::debug( " 5 : Generator level fit");
spdlog::debug( " 6 : ");
spdlog::debug( " -g <int> : Use folding of angles. Five possibilities use range [0-4]" );
spdlog::debug( " : [0]: phi' = phi + pi for phi < 0" );
spdlog::debug( " : [1]: phi' = -phi for phi < 0" );
spdlog::debug( " phi' = pi - phi for ctl < 0 " );
spdlog::debug( " ctl' = -ctl for ctl < 0 " );
spdlog::debug( " : [2]: phi' = -phi for phi < 0" );
spdlog::debug( " ctl' = -ctl for ctl < 0 " );
spdlog::debug( " : [3]: phi' = pi - phi for phi > pi/2" );
spdlog::debug( " phi' = -pi - phi for phi < -pi/2 " );
spdlog::debug( " ctl' = -ctl for ctl < 0 " );
spdlog::debug( " : [4]: phi' = pi - phi for phi > pi/2" );
spdlog::debug( " phi' = -pi - phi for phi < -pi/2 " );
spdlog::debug( " ctk' = -ctk for ctk < 0 " );
spdlog::debug( " ctl' = -ctl for ctl < 0 " );
spdlog::debug( " -h : Print this help :)" );
spdlog::debug( " -i : index. " ); //TODO
spdlog::debug( " in combination with angCorr, it scans the corrections. " );
spdlog::debug( " in combination with -f 4, it sets the polarity: 1 is up, 2 is down. " );
spdlog::debug( " -j : job index. Usage to be added" ); //TODO
spdlog::debug( " -k : Converting events. Needs specification of a year/run and dataset." );
spdlog::debug( " -l : Likelihood profile scans." );
spdlog::debug( " -m : Getting pulls from MC" );
spdlog::debug( " -n : Set number of toys." );
spdlog::debug( " -o : Run feldman cousins." );
spdlog::debug( " -p : Use P' instead of S-observables." );
spdlog::debug( " -q : Use Jpsi Q2 region" );
spdlog::debug( " -t : Get pulls fro toys." );
spdlog::debug( " -u : Set number q2 bins to be used." );
spdlog::debug( " -v <int> : Set verbosity levels. Default is info." );
spdlog::debug( " 0 : Trace" );
spdlog::debug( " 1 : Debug" );
spdlog::debug( " 2 : Info" );
spdlog::debug( " 3 : Warn" );
spdlog::debug( " 4 : Error" );
spdlog::debug( " 5 : Critical" );
spdlog::debug( " -w : Does nothing for now." );
spdlog::debug( " -x : Runs whatever script you decide from Scripts/. This is due to ROOT trying to compile everything when it really doesn't need to and running it standalone would be a pain in the ass." );
spdlog::debug( " -z : Testing flag." );
spdlog::debug( "- - - - - - - - - - - - - - - - -" );
spdlog::debug( "- - - - - - SYSTEMATICS - - - - -" );
spdlog::debug( "- - - - - - - - - - - - - - - - -" );
spdlog::debug( " -s <int> : Run systematic study number #ID" );
spdlog::debug( " 1 : Bootstrapping of PHSP MC" );
spdlog::debug( " 2 : Perform fit with non-symmetric acceptance in ctl" );
spdlog::debug( " 3 : Increase Legendre poly order by 2 for PHSP MC" );
spdlog::debug( " 4 : Randomly change PHSP MC reweighting wihtin it's uncertainties" );
spdlog::debug( " 5 : Check non-homogeneous FS distributions in q2" );
spdlog::debug( " 6 : Vary angles (ctk, ctl and phi) within the angular resoluation" );
spdlog::debug( " 7 : Generate toy events with double-gaussian profile and fit with CB" );
spdlog::debug( " 8 : Systematic study on angular background model, add 10\% contribution of higher order" );
spdlog::debug( " 9 : Investigate systematic effects due to trigger selection" );
spdlog::debug( " 10 : Reweight PHSP MC according to pion PT disagreement in DD" );
spdlog::debug( " 11 : Background systematic for mimicing the B0 -> KS mu mu veto" );
reset_spdlog(); // back to default format
}
void print_errorCodes(){
spdlog::set_level(spdlog::level::err);
spdlog::set_pattern("%^[HELP]%$ %v");
spdlog::error( "//-----------------------------\\\\");
spdlog::error( "|| Possible error codes: ||");
spdlog::error( "\\\\-----------------------------//");
spdlog::error( " 0 : Everything is okay!" );
spdlog::error( " 1 : Something is wrong with (parsing) the input options!" );
spdlog::error( " 2 : Something is wrong with addition options in the fitter!" );
spdlog::error( " 3 : Wrong tree/parameter name!" );
spdlog::error( " 4 : Wrong array/vector lenght!" );
spdlog::error( " 5 : Missing implementation" );
spdlog::error( " 404 : Something is not found!" );
reset_spdlog(); // back to default format
}