Skip to content

Commit bff4a76

Browse files
authored
GLO: Add ITS-TPC/ITS Check for QC (#2227)
* GLO: Add ITS-TPC/ITS Check Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch> * GLO: Add nullptr protections Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch> * GLO: remove stray merge conflict in LinkDef Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch> * GLO: Add Phi & Eta plots + move parameters to extended Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch> * GLO: Remove debug files Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch> * GLO: return worst result Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch> * GLO: adhere to formatting Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch> --------- Signed-off-by: Felix Schlepper <felix.schlepper@cern.ch>
1 parent 025e2a6 commit bff4a76

5 files changed

Lines changed: 732 additions & 2 deletions

File tree

Modules/GLO/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# ---- Library ----
22

3+
# add_compile_options(-O0 -g -fPIC)
34
add_library(O2QcGLO)
45

5-
target_sources(O2QcGLO PRIVATE src/MeanVertexPostProcessing.cxx src/MeanVertexCheck.cxx src/VertexingQcTask.cxx src/ITSTPCMatchingTask.cxx src/DataCompressionQcTask.cxx src/CTFSizeTask.cxx)
6+
target_sources(O2QcGLO PRIVATE src/ITSTPCmatchingCheck.cxx src/MeanVertexPostProcessing.cxx src/MeanVertexCheck.cxx src/VertexingQcTask.cxx src/ITSTPCMatchingTask.cxx src/DataCompressionQcTask.cxx src/CTFSizeTask.cxx)
67

78
target_include_directories(
89
O2QcGLO
@@ -46,7 +47,8 @@ add_root_dictionary(O2QcGLO
4647
include/GLO/ITSTPCMatchingTask.h
4748
include/GLO/DataCompressionQcTask.h
4849
include/GLO/CTFSizeTask.h
49-
LINKDEF include/GLO/LinkDef.h)
50+
include/GLO/ITSTPCmatchingCheck.h
51+
LINKDEF include/GLO/LinkDef.h)
5052

5153
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/GLO
5254
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/QualityControl")
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
{
2+
"qc": {
3+
"config": {
4+
"database": {
5+
"implementation": "CCDB",
6+
"host": "ccdb-test.cern.ch:8080",
7+
"username": "not_applicable",
8+
"password": "not_applicable",
9+
"name": "not_applicable",
10+
"maxObjectSize": "20000000"
11+
},
12+
"Activity": {
13+
"number": "43",
14+
"type": "2"
15+
},
16+
"monitoring": {
17+
"url": "infologger:///debug?qc"
18+
},
19+
"consul": {
20+
"url": ""
21+
},
22+
"conditionDB": {
23+
"url": "alice-ccdb.cern.ch"
24+
},
25+
"infologger": {
26+
"filterDiscardDebug": "false",
27+
"filterDiscardLevel": "0"
28+
}
29+
},
30+
"tasks": {
31+
"ITSTPCMatchingTask": {
32+
"active": "true",
33+
"className": "o2::quality_control_modules::glo::ITSTPCMatchingTask",
34+
"moduleName": "QcGLO",
35+
"detectorName": "GLO",
36+
"cycleDurationSeconds": "60",
37+
"maxNumberCycles": "-1",
38+
"dataSource": {
39+
"type": "direct",
40+
"query_comment": "checking every matched track",
41+
"query": "trackITSTPC:GLO/TPCITS/0;trackITSTPCABREFS:GLO/TPCITSAB_REFS/0;trackITSTPCABCLID:GLO/TPCITSAB_CLID/0;trackTPC:TPC/TRACKS;trackTPCClRefs:TPC/CLUSREFS;trackITS:ITS/TRACKS/0;trackITSROF:ITS/ITSTrackROF/0;trackITSClIdx:ITS/TRACKCLSID/0;alpparITS:ITS/ALPIDEPARAM/0?lifetime=condition&ccdb-path=ITS/Config/AlpideParam"
42+
},
43+
"taskParameters": {
44+
"GID": "ITS-TPC,ITS",
45+
"verbose": "false",
46+
"minPtCut": "0.1f",
47+
"etaCut": "1.4f",
48+
"minNTPCClustersCut": "60",
49+
"minDCACut": "100.f",
50+
"minDCACutY": "10.f"
51+
},
52+
"grpGeomRequest": {
53+
"geomRequest": "None",
54+
"askGRPECS": "false",
55+
"askGRPLHCIF": "false",
56+
"askGRPMagField": "true",
57+
"askMatLUT": "false",
58+
"askTime": "false",
59+
"askOnceAllButField": "true",
60+
"needPropagatorD": "false"
61+
},
62+
"saveObjectsToFile": "ITSTPCmatched.root",
63+
"": "For debugging, path to the file where to save. If empty or missing it won't save."
64+
}
65+
},
66+
"checks": {
67+
"ITSTPCMatchingCheck": {
68+
"active": "true",
69+
"className": "o2::quality_control_modules::glo::ITSTPCmatchingCheck",
70+
"moduleName": "QcGLO",
71+
"policy": "OnAny",
72+
"detectorName": "GLO",
73+
"dataSource": [
74+
{
75+
"type": "Task",
76+
"name": "ITSTPCMatchingTask",
77+
"MOs": [
78+
"mFractionITSTPCmatch_ITS",
79+
"mFractionITSTPCmatchPhi_ITS",
80+
"mFractionITSTPCmatchEta_ITS"
81+
]
82+
}
83+
],
84+
"extendedCheckParameters": {
85+
"default": {
86+
"default": {
87+
"showPt": "true",
88+
"thresholdPt": "0.9",
89+
"showPhi": "true",
90+
"thresholdPhi": "0.3",
91+
"showEta": "1",
92+
"thresholdEta": "0.4"
93+
}
94+
}
95+
}
96+
}
97+
}
98+
}
99+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
///
13+
/// \file ITSTPCmatchingCheck.h
14+
/// \author felix.schlepper@cern.ch
15+
///
16+
17+
#ifndef QC_MODULE_GLO_GLOITSTPCMATCHINGCHECK_H
18+
#define QC_MODULE_GLO_GLOITSTPCMATCHINGCHECK_H
19+
20+
#include "QualityControl/CheckInterface.h"
21+
#include "QualityControl/Quality.h"
22+
23+
#include <vector>
24+
#include <tuple>
25+
26+
namespace o2::quality_control_modules::glo
27+
{
28+
29+
/// \brief Check for ITS-TPC sync. matching efficiency
30+
/// \author felix.schlepper@cern.ch
31+
class ITSTPCmatchingCheck : public o2::quality_control::checker::CheckInterface
32+
{
33+
public:
34+
Quality check(std::map<std::string, std::shared_ptr<MonitorObject>>* moMap) override;
35+
void beautify(std::shared_ptr<MonitorObject> mo, Quality checkResult = Quality::Null) override;
36+
void startOfActivity(const Activity& activity) override;
37+
38+
private:
39+
std::vector<std::pair<int, int>> findRanges(const std::vector<int>& nums);
40+
std::shared_ptr<Activity> mActivity;
41+
42+
// Pt
43+
bool mShowPt{ true };
44+
float mMinPt{ 1. };
45+
float mMaxPt{ 1.999 };
46+
float mThresholdPt{ 0.5 };
47+
48+
// Phi
49+
bool mShowPhi{ true };
50+
float mThresholdPhi{ 0.3 };
51+
52+
// Eta
53+
bool mShowEta{ false };
54+
float mThresholdEta{ 0.4 };
55+
float mMinEta{ -0.8 };
56+
float mMaxEta{ 0.8 };
57+
58+
ClassDefOverride(ITSTPCmatchingCheck, 1);
59+
};
60+
61+
} // namespace o2::quality_control_modules::glo
62+
63+
#endif // QC_MODULE_GLO_GLOITSTPCMATCHINGCHECK_H

Modules/GLO/include/GLO/LinkDef.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@
1111

1212
#pragma link C++ class o2::quality_control_modules::glo::MeanVertexCheck + ;
1313
#pragma link C++ class o2::quality_control_modules::glo::CTFSize + ;
14+
#pragma link C++ class o2::quality_control_modules::glo::ITSTPCmatchingCheck + ;
15+
1416
#endif

0 commit comments

Comments
 (0)