Skip to content

Commit 75bcf9e

Browse files
authored
Merge 7e8a2e5 into sapling-pr-archive-ktf
2 parents d39a67b + 7e8a2e5 commit 75bcf9e

File tree

108 files changed

+4428
-5933
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+4428
-5933
lines changed

CCDB/include/CCDB/BasicCCDBManager.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
#include "CommonUtils/NameConf.h"
2121
#include "Framework/DataTakingContext.h"
2222
#include "Framework/DefaultsHelpers.h"
23+
#include "Framework/ServiceRegistryRef.h"
24+
#include "Framework/DataProcessingStats.h"
2325
#include <string>
2426
#include <chrono>
2527
#include <map>
@@ -340,6 +342,13 @@ T* CCDBManagerInstance::getForTimeStamp(std::string const& path, long timestamp,
340342
}
341343
auto end = std::chrono::system_clock::now();
342344
mTimerMS += std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
345+
auto ref = o2::framework::ServiceRegistryRef::globalDeviceRef();
346+
if (ref.active<framework::DataProcessingStats>()) {
347+
auto& stats = ref.get<o2::framework::DataProcessingStats>();
348+
stats.updateStats({(int)o2::framework::ProcessingStatsId::CCDB_CACHE_HIT, o2::framework::DataProcessingStats::Op::Set, (int64_t)mQueries - mFailures - mFetches});
349+
stats.updateStats({(int)o2::framework::ProcessingStatsId::CCDB_CACHE_MISS, o2::framework::DataProcessingStats::Op::Set, (int64_t)mFetches});
350+
stats.updateStats({(int)o2::framework::ProcessingStatsId::CCDB_CACHE_FAILURE, o2::framework::DataProcessingStats::Op::Set, (int64_t)mFailures});
351+
}
343352
return ptr;
344353
}
345354

CCDB/src/BasicCCDBManager.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
// Created by Sandro Wenzel on 2019-08-14.
1414
//
1515
#include "CCDB/BasicCCDBManager.h"
16+
#include "Framework/ServiceRegistryRef.h"
17+
#include "Framework/DataProcessingStats.h"
1618
#include <boost/lexical_cast.hpp>
1719
#include <fairlogger/Logger.h>
1820
#include <string>

DataFormats/Detectors/FIT/FT0/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,5 @@ o2_target_root_dictionary(DataFormatsFT0
4747
include/DataFormatsFT0/GlobalOffsetsCalibrationObject.h
4848
include/DataFormatsFT0/SpectraInfoObject.h
4949
include/DataFormatsFT0/SlewingCoef.h
50+
include/DataFormatsFT0/EventsPerBc.h
5051
)

DataFormats/Detectors/MUON/MCH/src/DsChannelGroup.cxx renamed to DataFormats/Detectors/FIT/FT0/include/DataFormatsFT0/EventsPerBc.h

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,17 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12-
#include "DataFormatsMCH/DsChannelGroup.h"
12+
#ifndef _FT0_EVENTS_PER_BC_CALIB_OBJECT
13+
#define _FT0_EVENTS_PER_BC_CALIB_OBJECT
1314

14-
std::string o2::mch::DsChannelId() const
15+
#include "CommonConstants/LHCConstants.h"
16+
#include <Rtypes.h>
17+
18+
namespace o2::ft0
1519
{
16-
}
20+
struct EventsPerBc {
21+
std::array<double, o2::constants::lhc::LHCMaxBunches> histogram;
22+
ClassDefNV(EventsPerBc, 1);
23+
};
24+
} // namespace o2::ft0
25+
#endif

DataFormats/Detectors/FIT/FT0/src/DataFormatsFT0LinkDef.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,6 @@
5656
#pragma link C++ class std::pair < std::vector < double>, std::vector < double>> + ;
5757
#pragma link C++ class o2::ft0::SlewingCoef + ;
5858

59+
#pragma link C++ class o2::ft0::EventsPerBc + ;
60+
5961
#endif

DataFormats/Detectors/TPC/include/DataFormatsTPC/CalibdEdxCorrection.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ class CalibdEdxCorrection
115115
/// Single fit parameters averaged over all sectors for a stack type
116116
float getMeanEntries(const GEMstack stack, ChargeType charge) const;
117117

118+
/// set all corrections to 1, used for default initialization and to reset corrections
119+
void setUnity();
120+
118121
#endif
119122

120123
private:

DataFormats/Detectors/TPC/src/CalibdEdxCorrection.cxx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,3 +168,16 @@ float CalibdEdxCorrection::getMeanEntries(const GEMstack stack, ChargeType charg
168168

169169
return mean / (SECTORSPERSIDE * SIDES);
170170
}
171+
172+
void CalibdEdxCorrection::setUnity()
173+
{
174+
for (int i = 0; i < FitSize; ++i) {
175+
for (int j = 0; j < ParamSize; ++j) {
176+
mParams[i][j] = 0.f;
177+
}
178+
mParams[i][0] = 1.f; // constant term = 1
179+
mChi2[i] = 0.f;
180+
mEntries[i] = 0;
181+
}
182+
mDims = 0;
183+
}

Detectors/AOD/include/AODProducerWorkflow/AODProducerWorkflowSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,7 @@ class AODProducerWorkflowDPL : public Task
238238
bool mPropTracks{false};
239239
bool mPropMuons{false};
240240
float mTrackQCKeepGlobalTracks{false};
241+
float mTrackQCRetainOnlydEdx{false};
241242
float mTrackQCFraction{0.00};
242243
int64_t mTrackQCNTrCut{4};
243244
float mTrackQCDCAxy{3.};

Detectors/AOD/src/AODProducerWorkflowSpec.cxx

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -363,10 +363,10 @@ void AODProducerWorkflowDPL::addToTracksQATable(TracksQACursorType& tracksQACurs
363363
{
364364
tracksQACursor(
365365
trackQAInfoHolder.trackID,
366-
truncateFloatFraction(trackQAInfoHolder.tpcTime0, mTPCTime0),
366+
mTrackQCRetainOnlydEdx ? 0.0f : truncateFloatFraction(trackQAInfoHolder.tpcTime0, mTPCTime0),
367367
truncateFloatFraction(trackQAInfoHolder.tpcdEdxNorm, mTrackSignal),
368-
trackQAInfoHolder.tpcdcaR,
369-
trackQAInfoHolder.tpcdcaZ,
368+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int16_t>::min() : trackQAInfoHolder.tpcdcaR,
369+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int16_t>::min() : trackQAInfoHolder.tpcdcaZ,
370370
trackQAInfoHolder.tpcClusterByteMask,
371371
trackQAInfoHolder.tpcdEdxMax0R,
372372
trackQAInfoHolder.tpcdEdxMax1R,
@@ -376,18 +376,18 @@ void AODProducerWorkflowDPL::addToTracksQATable(TracksQACursorType& tracksQACurs
376376
trackQAInfoHolder.tpcdEdxTot1R,
377377
trackQAInfoHolder.tpcdEdxTot2R,
378378
trackQAInfoHolder.tpcdEdxTot3R,
379-
trackQAInfoHolder.dRefContY,
380-
trackQAInfoHolder.dRefContZ,
381-
trackQAInfoHolder.dRefContSnp,
382-
trackQAInfoHolder.dRefContTgl,
383-
trackQAInfoHolder.dRefContQ2Pt,
384-
trackQAInfoHolder.dRefGloY,
385-
trackQAInfoHolder.dRefGloZ,
386-
trackQAInfoHolder.dRefGloSnp,
387-
trackQAInfoHolder.dRefGloTgl,
388-
trackQAInfoHolder.dRefGloQ2Pt,
389-
trackQAInfoHolder.dTofdX,
390-
trackQAInfoHolder.dTofdZ);
379+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefContY,
380+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefContZ,
381+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefContSnp,
382+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefContTgl,
383+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefContQ2Pt,
384+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefGloY,
385+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefGloZ,
386+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefGloSnp,
387+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefGloTgl,
388+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dRefGloQ2Pt,
389+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dTofdX,
390+
mTrackQCRetainOnlydEdx ? std::numeric_limits<int8_t>::min() : trackQAInfoHolder.dTofdZ);
391391
}
392392

393393
template <typename mftTracksCursorType, typename AmbigMFTTracksCursorType>
@@ -499,7 +499,7 @@ void AODProducerWorkflowDPL::fillTrackTablesPerCollision(int collisionID,
499499

500500
float weight = 0;
501501
static std::uniform_real_distribution<> distr(0., 1.);
502-
bool writeQAData = o2::math_utils::Tsallis::downsampleTsallisCharged(data.getTrackParam(trackIndex).getPt(), mTrackQCFraction, mSqrtS, weight, distr(mGenerator)) || (src != GIndex::TPC && mTrackQCKeepGlobalTracks);
502+
bool writeQAData = o2::math_utils::Tsallis::downsampleTsallisCharged(data.getTrackParam(trackIndex).getPt(), mTrackQCFraction, mSqrtS, weight, distr(mGenerator)) || ((src != GIndex::TPC || mGIDUsedBySVtx.find(trackIndex) != mGIDUsedBySVtx.end() || mGIDUsedByStr.find(trackIndex) != mGIDUsedByStr.end()) && mTrackQCKeepGlobalTracks);
503503
auto extraInfoHolder = processBarrelTrack(collisionID, collisionBC, trackIndex, data, bcsMap);
504504

505505
if (writeQAData) {
@@ -1720,6 +1720,7 @@ void AODProducerWorkflowDPL::init(InitContext& ic)
17201720
}
17211721
}
17221722
mTrackQCKeepGlobalTracks = ic.options().get<bool>("trackqc-keepglobaltracks");
1723+
mTrackQCRetainOnlydEdx = ic.options().get<bool>("trackqc-retainonlydedx");
17231724
mTrackQCFraction = ic.options().get<float>("trackqc-fraction");
17241725
mTrackQCNTrCut = ic.options().get<int64_t>("trackqc-NTrCut");
17251726
mTrackQCDCAxy = ic.options().get<float>("trackqc-tpc-dca");
@@ -3356,6 +3357,7 @@ DataProcessorSpec getAODProducerWorkflowSpec(GID::mask_t src, bool enableSV, boo
33563357
ConfigParamSpec{"propagate-muons", VariantType::Bool, false, {"Propagate muons to IP"}},
33573358
ConfigParamSpec{"thin-tracks", VariantType::Bool, false, {"Produce thinned track tables"}},
33583359
ConfigParamSpec{"trackqc-keepglobaltracks", VariantType::Bool, false, {"Always keep TrackQA for global tracks"}},
3360+
ConfigParamSpec{"trackqc-retainonlydedx", VariantType::Bool, false, {"Keep only dEdx information, zero out everything else"}},
33593361
ConfigParamSpec{"trackqc-fraction", VariantType::Float, float(0.1), {"Fraction of tracks to QC"}},
33603362
ConfigParamSpec{"trackqc-NTrCut", VariantType::Int64, 4L, {"Minimal length of the track - in amount of tracklets"}},
33613363
ConfigParamSpec{"trackqc-tpc-dca", VariantType::Float, 3.f, {"Keep TPC standalone track with this DCAxy to the PV"}},

Detectors/Base/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ o2_add_library(DetectorsBase
2929
src/Stack.cxx
3030
src/VMCSeederService.cxx
3131
src/GlobalParams.cxx
32+
src/O2Tessellated.cxx
33+
src/TGeoGeometryUtils.cxx
3234
PUBLIC_LINK_LIBRARIES FairRoot::Base
3335
O2::CommonUtils
3436
O2::DetectorsCommonDataFormats
@@ -46,6 +48,7 @@ o2_add_library(DetectorsBase
4648
O2::GPUDataTypes
4749
MC::VMC
4850
TBB::tbb
51+
ROOT::Gdml
4952
)
5053

5154
o2_target_root_dictionary(DetectorsBase
@@ -62,7 +65,9 @@ o2_target_root_dictionary(DetectorsBase
6265
include/DetectorsBase/Aligner.h
6366
include/DetectorsBase/Stack.h
6467
include/DetectorsBase/SimFieldUtils.h
65-
include/DetectorsBase/GlobalParams.h)
68+
include/DetectorsBase/GlobalParams.h
69+
include/DetectorsBase/O2Tessellated.h
70+
)
6671

6772
if(BUILD_SIMULATION)
6873
if (NOT APPLE)

0 commit comments

Comments
 (0)