You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Only cosmic tracks with at least one TRD or TOF contribution will be accepted in the tpc-refitter.
Added options for cosmics processing:
--ignore-legs-wo-outer-det will skip cosmic legs w/o TRD or TOF constraint even if other leg is well constrained
--use-cosmic-leg-timing will prefer the timestamp of each leg to (if available) for the refit, otherwise use cosmic track timestamp.
When the workflow is run with >1 lane, the streamer output XX.root of each lane will appear with suffix: XX_<lane>.root
Copy file name to clipboardExpand all lines: Detectors/TPC/workflow/src/TPCRefitter.cxx
+40-27Lines changed: 40 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@
22
22
#include"DetectorsBase/Propagator.h"
23
23
#include"Framework/ConfigParamRegistry.h"
24
24
#include"Framework/ControlService.h"
25
+
#include"Framework/DeviceSpec.h"
25
26
#include"Framework/Task.h"
26
27
#include"MathUtils/Tsallis.h"
27
28
#include"DetectorsCommonDataFormats/DetID.h"
@@ -96,6 +97,8 @@ class TPCRefitterSpec final : public Task
96
97
intmWriteTrackClusters = 0; ///< bitmask of which cluster information to dump to the tree: 0x1 = cluster native, 0x2 = corrected cluster positions, 0x4 = uncorrected cluster positions, 0x8 occupancy info
97
98
boolmDoSampling{false}; ///< perform sampling of unbinned data
98
99
boolmDoRefit{true}; ///< perform refit of TPC track
100
+
boolmIgnorLegsWOGoodTime{false}; ///< ignore cosmic legs w/o TRD or TOF constraint instead of using the time of other constraned leg
101
+
boolmUseCosmicLegTiming{false}; ///< use the timestamp from the cosmic track leg instead of using cosmic track timestamp
99
102
std::vector<size_t> mClusterOccupancy; ///< binned occupancy of all clusters
100
103
std::vector<size_t> mITSTPCTrackOccupanyTPCTime; ///< binned occupancy for ITS-TPC matched tracks using the TPC track time
101
104
std::vector<size_t> mITSTPCTrackOccupanyCombinedTime; ///< binned occupancy for ITS-TPC matched tracks using the combined track time
mTimeBinsPerTF = (o2::raw::HBFUtils::Instance().nHBFPerTF * o2::constants::lhc::LHCMaxBunches) / 8 + 2 * mTimeBinsPerDrift; // add one drift before and after the TF
float trackTime = cosmic.getTimeMUS().getTimeStamp() * invBinWidth; // this time corresponds to the center of top/bottom legs time-brackers intersection, i.e. should be the most precise one
708
+
709
+
for (int i = 0; i < 2; i++) {
710
+
if (!contributorsGID[i][GTrackID::TPC].isSourceSet() || (mIgnorLegsWOGoodTime && !hasGoodTime[i])) {
0 commit comments