Project
Loading...
Searching...
No Matches
ClusterizerSpec.h
Go to the documentation of this file.
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#include <vector>
13
15#include "PHOSBase/Geometry.h"
18#include "Framework/Task.h"
22
23namespace o2
24{
25
26namespace phos
27{
28
29namespace reco_workflow
30{
31
40{
41 public:
43 ClusterizerSpec(bool propagateMC, bool scanDigits, bool outputFullClu, bool defBadMap, bool skipL1phase = true) : framework::Task(), mPropagateMC(propagateMC), mUseDigits(scanDigits), mFullCluOutput(outputFullClu), mDefBadMap(defBadMap), mSkipL1phase(skipL1phase) {}
44
46 ~ClusterizerSpec() override = default;
47
50 void init(framework::InitContext& ctx) final;
51
58 void run(framework::ProcessingContext& ctx) final;
59
60 private:
61 bool mPropagateMC = false;
62 bool mUseDigits = false;
63 bool mFullCluOutput = false;
64 bool mHasCalib = false;
65 bool mDefBadMap = false;
66 bool mSkipL1phase = true;
67 bool mInitSimParams = true;
68 o2::phos::Clusterer mClusterizer;
69 std::unique_ptr<CalibParams> mCalibParams;
70 std::unique_ptr<BadChannelsMap> mBadMap;
71 int mL1phase;
72 std::vector<o2::phos::Cluster> mOutputClusters;
73 std::vector<o2::phos::CluElement> mOutputCluElements;
74 std::vector<o2::phos::TriggerRecord> mOutputClusterTrigRecs;
76};
77
81framework::DataProcessorSpec getClusterizerSpec(bool propagateMC, bool fillFullClu, bool defBadMap = false);
82framework::DataProcessorSpec getCellClusterizerSpec(bool propagateMC, bool fillFullClu, bool defBadMap = false, bool skipL1phase = true);
83
84} // namespace reco_workflow
85
86} // namespace phos
87
88} // namespace o2
Definition of a container to keep Monte Carlo truth external to simulation objects.
Definition of the PHOS cluster finder.
A container to hold and manage MC truth information/labels.
Clusterizer task for PHOS digits.
~ClusterizerSpec() override=default
Destructor.
ClusterizerSpec(bool propagateMC, bool scanDigits, bool outputFullClu, bool defBadMap, bool skipL1phase=true)
Constructor.
void run(framework::ProcessingContext &ctx) final
Clusterizes digits into clusters.
void init(framework::InitContext &ctx) final
Initializing the ClusterizerSpec.
framework::DataProcessorSpec getClusterizerSpec(bool propagateMC, bool fillFullClu, bool defBadMap=false)
Creating DataProcessorSpec for the PHOS Clusterizer Spec.
framework::DataProcessorSpec getCellClusterizerSpec(bool propagateMC, bool fillFullClu, bool defBadMap=false, bool skipL1phase=true)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...