From 282793e26527d8ac1617d90ffeeb576ab2e36b6d Mon Sep 17 00:00:00 2001 From: Derek Glazier Date: Tue, 3 Dec 2024 14:08:41 +0000 Subject: [PATCH 1/2] update non chain qadb example --- RunRoot/Ex10_clas12Databases.C | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/RunRoot/Ex10_clas12Databases.C b/RunRoot/Ex10_clas12Databases.C index d296ae9..e64fd5e 100644 --- a/RunRoot/Ex10_clas12Databases.C +++ b/RunRoot/Ex10_clas12Databases.C @@ -44,13 +44,26 @@ void Ex10_clas12Databases(){ cout<<"Beam current: "<Start("db"); From 8b5446b007a31c2e64a553c0ae4cd7aaf62cc59c Mon Sep 17 00:00:00 2001 From: Derek Glazier Date: Tue, 3 Dec 2024 14:24:18 +0000 Subject: [PATCH 2/2] update README for qadb --- README.md | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 8c458fd..4b2911b 100644 --- a/README.md +++ b/README.md @@ -480,24 +480,27 @@ Where ccdbElSF is a std::vector> and so you can access the e clas12root can use the Quality Assurance database .json files found at https://github.com/c-dilks/clas12-qadb/tree/master to reject events that have been identified as failing to meet certain requirements. This is implemented in an analysis using the clas12reader with the functions - c12.db()->qadb_requireOkForAsymmetry(true); - c12.db()->qadb_requireGolden(true); - c12.db()->qadb_addQARequirement("MarginalOutlier"); - c12.db()->qadb_addQARequirement("TotalOutlier"); - c12.applyQA(); + c12.db().applyQA(GETPASSSTRINGHERE);//GETPASSSTRINGHERE="latest", "pass1, "pass2",... + c12.db().qadb_addQARequirement("MarginalOutlier"); + c12.db().qadb_addQARequirement("TotalOutlier"); + c12.db().qadb_addQARequirement("TerminalOutlier"); + c12.db().qadb_addQARequirement("MarginalOutlier"); + c12.db().qadb_addQARequirement("SectorLoss"); + c12.db().qadb_addQARequirement("LowLiveTime"); Or in case you use HipoChain (also for when running PROOF/HipoSelector) - auto c12=chain.GetC12Reader(); - - c12->db()->qadb_requireOkForAsymmetry(true); - c12->db()->qadb_requireGolden(true); - c12->db()->qadb_addQARequirement("MarginalOutlier"); - c12->db()->qadb_addQARequirement("TotalOutlier"); - c12->applyQA(); - -where requireOkForAsymmetry(true) requires only events that were identified as suitable for asymmetry calculations, and requireGolden(true) requires only events without any defects. addQARequirement("Requirement") allows to reject events that fail to meet the specified requirement. These can be: + auto config_c12=chain.GetC12Reader(); + config_c12->applyQA(GETPASSSTRINGHERE);//GETPASSSTRINGHERE="latest", "pass1, "pass2",... + config_c12->db()->qadb_addQARequirement("MarginalOutlier"); + config_c12->db()->qadb_addQARequirement("TotalOutlier"); + config_c12->db()->qadb_addQARequirement("TerminalOutlier"); + config_c12->db()->qadb_addQARequirement("MarginalOutlier"); + config_c12->db()->qadb_addQARequirement("SectorLoss"); + config_c12->db()->qadb_addQARequirement("LowLiveTime"); + +addQARequirement("Requirement") allows to reject events that fail to meet the specified requirement. These can be: TotalOutlier: outlier N/F, but not terminal, marginal, or sector loss TerminalOutlier: outlier N/F of first or last file of run