forked from AliceO2Group/QualityControl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLaserTracks.cxx
More file actions
71 lines (58 loc) · 2.21 KB
/
LaserTracks.cxx
File metadata and controls
71 lines (58 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
///
/// \file LaserTracks.cxx
/// \author Thomas Klemenz
///
// O2 includes
#if __has_include("TPCBase/Painter.h")
#include "TPCBase/Painter.h"
#include "TPCBase/CDBInterface.h"
#else
#include "TPCBaseRecSim/Painter.h"
#include "TPCBaseRecSim/CDBInterface.h"
#endif
// QC includes
#include "QualityControl/QcInfoLogger.h"
#include "TPC/LaserTracks.h"
#include "TPC/Utility.h"
// root includes
#include "TCanvas.h"
#include <boost/property_tree/ptree.hpp>
using namespace o2::quality_control::postprocessing;
namespace o2::quality_control_modules::tpc
{
void LaserTracks::configure(const boost::property_tree::ptree& config)
{
o2::tpc::CDBInterface::instance().setURL(config.get<std::string>("qc.postprocessing." + getID() + ".dataSourceURL"));
}
void LaserTracks::initialize(Trigger, framework::ServiceRegistryRef)
{
addAndPublish(getObjectsManager(),
mLaserTracksCanvasVec,
{ "Ltr_Coverage", "Calib_Values", "Ltr_dEdx" },
mStoreMap);
}
void LaserTracks::update(Trigger t, framework::ServiceRegistryRef)
{
ILOG(Info, Support) << "Trigger type is: " << t.triggerType << ", the timestamp is " << t.timestamp << ENDM;
const auto& calibData = o2::tpc::CDBInterface::instance().getSpecificObjectFromCDB<o2::tpc::LtrCalibData>("TPC/Calib/LaserTracks", mTimestamp, mLookupMap);
auto vecPtr = toVector(mLaserTracksCanvasVec);
o2::tpc::painter::makeSummaryCanvases(calibData, &vecPtr);
}
void LaserTracks::finalize(Trigger t, framework::ServiceRegistryRef)
{
for (const auto& canvas : mLaserTracksCanvasVec) {
getObjectsManager()->stopPublishing(canvas.get());
}
mLaserTracksCanvasVec.clear();
}
} // namespace o2::quality_control_modules::tpc