Skip to content

Commit 778b69f

Browse files
committed
Make sure readers can read from alien
1 parent 794c08f commit 778b69f

14 files changed

Lines changed: 33 additions & 22 deletions

File tree

Detectors/FIT/FDD/workflow/src/DigitReaderSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ void DigitReader::init(InitContext& ic)
4242
mInputFileName = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")),
4343
ic.options().get<std::string>("fdd-digits-infile"));
4444

45-
mFile = std::make_unique<TFile>(mInputFileName.c_str(), "OLD");
45+
mFile.reset(TFile::Open(mInputFileName.c_str()));
4646
if (!mFile->IsOpen()) {
4747
LOG(error) << "Cannot open the " << mInputFileName.c_str() << " file !";
4848
throw std::runtime_error("cannot open input digits file");

Detectors/FIT/FT0/workflow/src/DigitReaderSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ void DigitReader::init(InitContext& ic)
3434
{
3535
auto filename = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")),
3636
ic.options().get<std::string>("ft0-digit-infile"));
37-
mFile = std::make_unique<TFile>(filename.c_str(), "OLD");
37+
mFile.reset(TFile::Open(filename.c_str()));
3838
if (!mFile->IsOpen()) {
3939
LOG(error) << "Cannot open the " << filename.c_str() << " file !";
4040
throw std::runtime_error("cannot open input digits file");

Detectors/FIT/FV0/workflow/src/DigitReaderSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ void DigitReader::init(InitContext& ic)
3434
{
3535
auto filename = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")),
3636
ic.options().get<std::string>("fv0-digit-infile"));
37-
mFile = std::make_unique<TFile>(filename.c_str(), "OLD");
37+
mFile.reset(TFile::Open(filename.c_str()));
3838
if (!mFile->IsOpen()) {
3939
LOG(error) << "Cannot open the " << filename.c_str() << " file !";
4040
throw std::runtime_error("cannot open input digits file");

Detectors/MUON/MCH/Workflow/src/ClusterReaderSpec.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "Framework/Logger.h"
2020
#include "Framework/Task.h"
2121
#include "DPLUtils/RootTreeReader.h"
22+
#include "CommonUtils/StringUtils.h"
2223
#include "SimulationDataFormat/MCTruthContainer.h"
2324
#include "SimulationDataFormat/MCCompLabel.h"
2425
#include "DataFormatsMCH/ROFRecord.h"
@@ -41,7 +42,7 @@ struct ClusterReader {
4142
void init(InitContext& ic)
4243
{
4344
auto treeName = "o2sim";
44-
auto fileName = ic.options().get<std::string>("infile");
45+
auto fileName = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")), ic.options().get<std::string>("infile"));
4546
auto nofEntries{-1};
4647
auto clusterDescription = mGlobal ? header::DataDescription{"GLOBALCLUSTERS"} : header::DataDescription{"CLUSTERS"};
4748
if (mUseMC) {
@@ -117,7 +118,7 @@ DataProcessorSpec getClusterReaderSpec(bool useMC, const char* specName, bool gl
117118

118119
auto options = Options{
119120
{"infile", VariantType::String, "mchclusters.root", {"name of the input cluster file"}},
120-
};
121+
{"input-dir", VariantType::String, "none", {"Input directory"}}};
121122

122123
return DataProcessorSpec{
123124
specName,

Detectors/MUON/MCH/Workflow/src/DigitReaderSpec.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include "SimulationDataFormat/MCCompLabel.h"
3232
#include "DataFormatsMCH/Digit.h"
3333
#include "DataFormatsMCH/ROFRecord.h"
34+
#include "CommonUtils/StringUtils.h"
3435

3536
using namespace o2::framework;
3637

@@ -47,7 +48,7 @@ class DigitsReaderDeviceDPL
4748

4849
void init(InitContext& ic)
4950
{
50-
auto filename = ic.options().get<std::string>("mch-digit-infile");
51+
auto filename = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")), ic.options().get<std::string>("mch-digit-infile"));
5152
if (mUseMC) {
5253
mReader = std::make_unique<RootTreeReader>("o2sim", filename.c_str(), -1,
5354
RootTreeReader::PublishingMode::Single,
@@ -101,7 +102,8 @@ framework::DataProcessorSpec getDigitReaderSpec(bool useMC, const char* specName
101102
Inputs{},
102103
outputs,
103104
AlgorithmSpec{adaptFromTask<DigitsReaderDeviceDPL>(useMC, descriptions)},
104-
Options{{"mch-digit-infile", VariantType::String, "mchdigits.root", {"Name of the input file"}}}};
105+
Options{{"mch-digit-infile", VariantType::String, "mchdigits.root", {"Name of the input file"}},
106+
{"input-dir", VariantType::String, "none", {"Input directory"}}}};
105107
}
106108
} // namespace mch
107109
} // namespace o2

Detectors/MUON/MCH/Workflow/src/TrackReaderSpec.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "MCHWorkflow/TrackReaderSpec.h"
1313

1414
#include "DPLUtils/RootTreeReader.h"
15+
#include "CommonUtils/StringUtils.h"
1516
#include "SimulationDataFormat/MCCompLabel.h"
1617
#include "DataFormatsMCH/ROFRecord.h"
1718
#include "DataFormatsMCH/TrackMCH.h"
@@ -64,7 +65,7 @@ struct TrackReader {
6465
LOGP(warning, "Not reading MCH Track Labels");
6566
}
6667
auto treeName = "o2sim";
67-
auto fileName = ic.options().get<std::string>("infile");
68+
auto fileName = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")), ic.options().get<std::string>("infile"));
6869
auto nofEntries{-1};
6970
if (mUseMC) {
7071
mTreeReader = std::make_unique<RootTreeReader>(
@@ -113,7 +114,7 @@ DataProcessorSpec getTrackReaderSpec(bool useMC, const char* specName)
113114

114115
auto options = Options{
115116
{"infile", VariantType::String, "mchtracks.root", {"name of the input track file"}},
116-
};
117+
{"input-dir", VariantType::String, "none", {"Input directory"}}};
117118

118119
return DataProcessorSpec{
119120
specName,

Detectors/MUON/MID/Workflow/src/TrackReaderSpec.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "MIDWorkflow/TrackReaderSpec.h"
1313

1414
#include "DPLUtils/RootTreeReader.h"
15+
#include "CommonUtils/StringUtils.h"
1516
#include "Framework/ConfigParamRegistry.h"
1617
#include "Framework/ControlService.h"
1718
#include "Framework/Lifetime.h"
@@ -72,7 +73,7 @@ struct TrackReader {
7273
LOGP(warning, "Not reading MID Track Labels");
7374
}
7475
auto treeName = "midreco";
75-
auto fileName = ic.options().get<std::string>("infile");
76+
auto fileName = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")), ic.options().get<std::string>("infile"));
7677
auto nofEntries{-1};
7778
if (mUseMC) {
7879
mTreeReader = std::make_unique<RootTreeReader>(
@@ -125,7 +126,7 @@ DataProcessorSpec getTrackReaderSpec(bool useMC, const char* specName)
125126

126127
auto options = Options{
127128
{"infile", VariantType::String, "mid-reco.root", {"name of the input track file"}},
128-
};
129+
{"input-dir", VariantType::String, "none", {"Input directory"}}};
129130

130131
return DataProcessorSpec{
131132
specName,

Detectors/Raw/src/HBFUtilsInitializer.cxx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "Framework/Logger.h"
2929
#include "Framework/DataProcessingHeader.h"
3030
#include <TFile.h>
31+
#include <TGrid.h>
3132

3233
using namespace o2::raw;
3334
namespace o2f = o2::framework;
@@ -104,8 +105,11 @@ HBFUtilsInitializer::HBFOpt HBFUtilsInitializer::getOptType(const std::string& o
104105
//_________________________________________________________
105106
std::vector<o2::dataformats::TFIDInfo> HBFUtilsInitializer::readTFIDInfoVector(const std::string& fname)
106107
{
107-
TFile fl(fname.c_str());
108-
auto vptr = (std::vector<o2::dataformats::TFIDInfo>*)fl.GetObjectChecked("tfidinfo", "std::vector<o2::dataformats::TFIDInfo>");
108+
if (o2::utils::Str::beginsWith(fname, "alien://") && !gGrid && !TGrid::Connect("alien://")) {
109+
LOGP(fatal, "could not open alien connection to read {}", fname);
110+
}
111+
std::unique_ptr<TFile> fl(TFile::Open(fname.c_str()));
112+
auto vptr = (std::vector<o2::dataformats::TFIDInfo>*)fl->GetObjectChecked("tfidinfo", "std::vector<o2::dataformats::TFIDInfo>");
109113
if (!vptr) {
110114
throw std::runtime_error(fmt::format("Failed to read tfidinfo vector from {}", fname));
111115
}

Detectors/TOF/workflowIO/src/DigitReaderSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void DigitReader::init(InitContext& ic)
3535
LOG(debug) << "Init Digit reader!";
3636
auto filename = o2::utils::Str::concat_string(o2::utils::Str::rectifyDirectory(ic.options().get<std::string>("input-dir")),
3737
ic.options().get<std::string>("tof-digit-infile"));
38-
mFile = std::make_unique<TFile>(filename.c_str(), "OLD");
38+
mFile.reset(TFile::Open(filename.c_str()));
3939
if (!mFile->IsOpen()) {
4040
LOG(error) << "Cannot open the " << filename.c_str() << " file !";
4141
mState = 0;

Detectors/TRD/workflow/io/include/TRDWorkflowIO/TRDTrackletReaderSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class TRDTrackletReader : public o2::framework::Task
4848
std::unique_ptr<TFile> mFileCTrklt;
4949
std::unique_ptr<TTree> mTreeCTrklt;
5050
std::string mInFileNameTrklt{"trdtracklets.root"};
51+
std::string mInFileNameCTrklt{"trdcalibratedtracklets.root"};
5152
std::string mInTreeNameTrklt{"o2sim"};
5253
std::vector<o2::trd::CalibratedTracklet> mTrackletsCal, *mTrackletsCalPtr = &mTrackletsCal;
5354
std::vector<char> mTrigRecMask, *mTrigRecMaskPtr = &mTrigRecMask;

0 commit comments

Comments
 (0)