ATLAS Offline Software
Loading...
Searching...
No Matches
check_syst.cxx File Reference
#include <string>
#include <iostream>
#include <TError.h>
#include <TString.h>
#include <TSystem.h>
#include "SUSYTools/SUSYObjDef_xAOD.h"
#include "PATInterfaces/SystematicVariation.h"
#include "PATInterfaces/SystematicRegistry.h"
#include "AsgMessaging/StatusCode.h"
#include "PATInterfaces/CorrectionCode.h"

Go to the source code of this file.

Functions

std::string getFW (std::string in, unsigned int width=30)
int main (int argc, char *argv[])

Function Documentation

◆ getFW()

std::string getFW ( std::string in,
unsigned int width = 30 )

Definition at line 31 of file check_syst.cxx.

31 {
32 for(unsigned int i=in.size() ; i < width; i++)
33 in+=" ";
34 return in;
35}
const double width

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 37 of file check_syst.cxx.

37 {
38
39 using namespace asg::msgUserCode;
41
42 StatusCode::enableFailure();
43 StatusCode::enableFailure();
45
46 // The application's name:
47 const char* APP_NAME = argv[0];
48
49 std::string config_file = getenv("ROOTCOREBIN");
50 config_file += "/data/SUSYTools/SUSYTools_Default.conf";
51
52 // Check if we received a config file
53 if ( argc > 1 ){
54 config_file = argv[1];
55 }
56
57 // Create the tool(s) to test:
58 ST::SUSYObjDef_xAOD objTool("SUSYObjDef_xAOD");
59
61 // Configure the SUSYObjDef instance
62 ANA_CHECK( objTool.setProperty("DataSource", ST::ISUSYObjDef_xAODTool::FullSim) );
63 if(!config_file.empty())
64 ANA_CHECK( objTool.setProperty("ConfigFile", config_file) );
65
66 std::vector<std::string> prw_conf;
67 prw_conf.push_back("dev/PileupReweighting/mc15ab_defaults.NotRecommended.prw.root");
68 prw_conf.push_back("dev/PileupReweighting/mc15c_v2_defaults.NotRecommended.prw.root");
69
70 ANA_CHECK( objTool.setProperty("PRWConfigFiles", prw_conf) );
71 std::vector<std::string> prw_lumicalc;
72 prw_lumicalc.push_back("dev/SUSYTools/ilumicalc_histograms_None_276262-284154_IBLOFF.root");
73 prw_lumicalc.push_back("dev/SUSYTools/ilumicalc_histograms_None_297730-299243.root");
74 ANA_CHECK( objTool.setProperty("PRWLumiCalcFiles", prw_lumicalc) );
76
77 objTool.msg().setLevel( MSG::FATAL );
78
79 if ( objTool.initialize() != StatusCode::SUCCESS) {
80 Error( APP_NAME, "Cannot intialize SUSYObjDef_xAOD..." );
81 Error( APP_NAME, "Exiting... " );
82 exit(-1);
83 } else {
84 Info( APP_NAME, "SUSYObjDef_xAOD initialized... " );
85 }
86
87 // Counter for cuts:
88 std::vector<ST::SystInfo> systInfoList;
89 systInfoList = objTool.getSystInfoList();
90
91 Info( APP_NAME, "\n\n");
92 Info( APP_NAME, "---- SYSTEMATICS LIST -----------------------------------------------------------------------------------------\n");
93
94 for (const auto& sysInfo : systInfoList) {
95 const CP::SystematicSet& sys = sysInfo.systset;
96 if(sys.name()=="") continue;
97 Info( APP_NAME, " %s\t Affects : %s (%s)",
98 getFW(sys.name(),45).c_str(),
99 getFW(ST::testAffectsObject(sysInfo.affectsType),12).c_str(),
100 sysInfo.affectsKinematics ? "Kin." : "Weight");
101 //Info( APP_NAME, (" "+getFW(sys.name(),45)+"\t Affects : "+getFW(ST::testAffectsObject(sysInfo.affectsType),12)+" ("+(sysInfo.affectsKinematics ? "Kin.)" : "Weight)")).c_str() );
102 }
103
104 Info( APP_NAME, "---------------------------------------------------------------------------------------------------------------\n");
105
106 // Return gracefully:
107 return 0;
108}
#define APP_NAME
#define ANA_CHECK(EXP)
check whether the given expression was successful
#define ANA_CHECK_SET_TYPE(TYPE)
set the type for ANA_CHECK to report failures
std::string getFW(std::string in, unsigned int width=30)
static void enableFailure() noexcept
Class to wrap a set of SystematicVariations.
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition Error.h:16
std::string getenv(const std::string &variableName)
get an environment variable
static bool testAffectsObject(xAOD::Type::ObjectType type, unsigned int test)
@ Info
Definition ZDCMsg.h:20