Skip to content

Commit 83e047a

Browse files
committed
Adapt macros to use vector instead of MCTruthContainer for ITS,TPC track labels
1 parent 6b4159b commit 83e047a

6 files changed

Lines changed: 24 additions & 31 deletions

File tree

‎Detectors/ITSMFT/ITS/macros/test/CheckTracks.C‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ void CheckTracks(std::string tracfile = "o2trac_its.root", std::string clusfile
103103
std::vector<TrackITS>* recArr = nullptr;
104104
recTree->SetBranchAddress("ITSTrack", &recArr);
105105
// Track MC labels
106-
o2::dataformats::MCTruthContainer<o2::MCCompLabel>* trkLabArr = nullptr;
106+
std::vector<o2::MCCompLabel>* trkLabArr = nullptr;
107107
recTree->SetBranchAddress("ITSTrackMCTruth", &trkLabArr);
108108

109109
Int_t lastEventIDcl = -1, cf = 0;
@@ -154,7 +154,7 @@ void CheckTracks(std::string tracfile = "o2trac_its.root", std::string clusfile
154154
continue;
155155
int loadedEventTracks = frame;
156156
for (unsigned int i = 0; i < recArr->size(); i++) { // Find the last MC event within this reconstructed entry
157-
auto lab = (trkLabArr->getLabels(i))[0];
157+
auto lab = (*trkLabArr)[i];
158158
if (!lab.isValid()) {
159159
const TrackITS& recTrack = (*recArr)[i];
160160
fak->Fill(recTrack.getPt());
@@ -210,7 +210,7 @@ void CheckTracks(std::string tracfile = "o2trac_its.root", std::string clusfile
210210
long lastIndex = (frame == f.lastFrame) ? f.lastIndex : nentr - 1;
211211

212212
for (long i = firstIndex; i <= lastIndex; i++) {
213-
auto lab = (trkLabArr->getLabels(i))[0];
213+
auto lab = (*trkLabArr)[i];
214214
if (!lab.isValid() || lab.getSourceID() != 0 || lab.getEventID() != n)
215215
continue;
216216
int mcid = lab.getTrackID();

‎Detectors/ITSMFT/ITS/macros/test/DisplayTrack.C‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ found:
205205
tree->SetBranchAddress("ITSTrack", &trkArr);
206206
tree->SetBranchAddress("ITSTrackClusIdx", &clIdx);
207207
// Track MC labels
208-
o2::dataformats::MCTruthContainer<o2::MCCompLabel>* trkLabArr = nullptr;
208+
std::vector<o2::MCCompLabel>* trkLabArr = nullptr;
209209
tree->SetBranchAddress("ITSTrackMCTruth", &trkLabArr);
210210

211211
tree->GetEvent(0);
@@ -214,7 +214,7 @@ found:
214214
n = 0;
215215
while (nt--) {
216216
const TrackITS& t = (*trkArr)[nt];
217-
auto lab = (trkLabArr->getLabels(nt))[0];
217+
auto lab = (*trkLabArr)[nt];
218218
if (TMath::Abs(lab.getEventID()) != event)
219219
continue;
220220
if (TMath::Abs(lab.getTrackID()) != track)

‎macro/checkTOFMatching.C‎

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ void checkTOFMatching(bool batchMode = true)
4040
TTree* tpcTree = (TTree*)ftracksTPC->Get("events");
4141
std::vector<o2::tpc::TrackTPC>* mTPCTracksArrayInp = new std::vector<o2::tpc::TrackTPC>;
4242
tpcTree->SetBranchAddress("Tracks", &mTPCTracksArrayInp);
43-
o2::dataformats::MCTruthContainer<o2::MCCompLabel>* mcTPC = new o2::dataformats::MCTruthContainer<o2::MCCompLabel>();
43+
std::vector<o2::MCCompLabel>* mcTPC = new std::vector<o2::MCCompLabel>();
4444
tpcTree->SetBranchAddress("TracksMCTruth", &mcTPC);
4545

4646
// getting the ITS tracks
4747
TFile* ftracksITS = new TFile("o2trac_its.root");
4848
TTree* itsTree = (TTree*)ftracksITS->Get("o2sim");
4949
std::vector<o2::its::TrackITS>* mITSTracksArrayInp = new std::vector<o2::its::TrackITS>;
5050
itsTree->SetBranchAddress("ITSTrack", &mITSTracksArrayInp);
51-
o2::dataformats::MCTruthContainer<o2::MCCompLabel>* mcITS = new o2::dataformats::MCTruthContainer<o2::MCCompLabel>();
51+
std::vector<o2::MCCompLabel>* mcITS = new std::vector<o2::MCCompLabel>();
5252
itsTree->SetBranchAddress("ITSTrackMCTruth", &mcITS);
5353

5454
// getting the TOF clusters
@@ -274,23 +274,19 @@ void checkTOFMatching(bool batchMode = true)
274274
Printf("matched ITStrack index = %d", evIdxITS);
275275
#endif
276276
// getting the TPC labels
277-
const auto& labelsTPC = mcTPC->getLabels(evIdxTPC);
277+
const auto& labelsTPC = (*mcTPC)[evIdxTPC];
278278
#ifdef DEBUG
279-
for (uint ilabel = 0; ilabel < labelsTPC.size(); ilabel++) {
280-
Printf("TPC label %d: trackID = %d, eventID = %d, sourceID = %d", ilabel, labelsTPC[ilabel].getTrackID(), labelsTPC[ilabel].getEventID(), labelsTPC[ilabel].getSourceID());
281-
}
279+
Printf("TPC label: trackID = %d, eventID = %d, sourceID = %d", labelsTPC.getTrackID(), labelsTPC.getEventID(), labelsTPC.getSourceID());
282280
#endif
283281

284282
// getting the ITS labels
285-
const auto& labelsITS = mcITS->getLabels(evIdxITS);
283+
const auto& labelsITS = (*mcITS)[evIdxITS];
286284
#ifdef DEBUG
287-
for (uint ilabel = 0; ilabel < labelsITS.size(); ilabel++) {
288-
Printf("ITS label %d: trackID = %d, eventID = %d, sourceID = %d", ilabel, labelsITS[ilabel].getTrackID(), labelsITS[ilabel].getEventID(), labelsITS[ilabel].getSourceID());
289-
}
285+
Printf("ITS label: trackID = %d, eventID = %d, sourceID = %d", ilabel, labelsITS.getTrackID(), labelsITS.getEventID(), labelsITS.getSourceID());
290286
#endif
291287
bool bMatched = kFALSE;
292288
for (uint ilabel = 0; ilabel < labelsTOF.size(); ilabel++) {
293-
if ((abs(labelsTPC[0].getTrackID()) == labelsTOF[ilabel].getTrackID() && labelsTPC[0].getEventID() == labelsTOF[ilabel].getEventID() && labelsTPC[0].getSourceID() == labelsTOF[ilabel].getSourceID()) || (labelsITS[0].getTrackID() == labelsTOF[ilabel].getTrackID() && labelsITS[0].getEventID() == labelsTOF[ilabel].getEventID() && labelsITS[0].getSourceID() == labelsTOF[ilabel].getSourceID())) {
289+
if ((abs(labelsTPC.getTrackID()) == labelsTOF[ilabel].getTrackID() && labelsTPC.getEventID() == labelsTOF[ilabel].getEventID() && labelsTPC.getSourceID() == labelsTOF[ilabel].getSourceID()) || (labelsITS.getTrackID() == labelsTOF[ilabel].getTrackID() && labelsITS.getEventID() == labelsTOF[ilabel].getEventID() && labelsITS.getSourceID() == labelsTOF[ilabel].getSourceID())) {
294290
nGoodMatches++;
295291
bMatched = kTRUE;
296292
break;
@@ -352,23 +348,19 @@ void checkTOFMatching(bool batchMode = true)
352348
o2::dataformats::TrackTPCITS trackITSTPC = mTracksArrayInp->at(i);
353349
const auto evIdxTPCcheck = trackITSTPC.getRefTPC();
354350
const auto evIdxITScheck = trackITSTPC.getRefITS();
355-
const auto& labelsTPCcheck = mcTPC->getLabels(evIdxTPCcheck);
356-
for (uint ilabel = 0; ilabel < labelsTPCcheck.size(); ilabel++) {
357-
if (abs(labelsTPCcheck[ilabel].getTrackID()) == trackIdTOF && labelsTPCcheck[ilabel].getEventID() == eventIdTOF && labelsTPCcheck[ilabel].getSourceID() == sourceIdTOF) {
351+
const auto& labelsTPCcheck = (*mcTPC)[evIdxTPCcheck];
352+
if (abs(labelsTPCcheck.getTrackID()) == trackIdTOF && labelsTPCcheck.getEventID() == eventIdTOF && labelsTPCcheck.getSourceID() == sourceIdTOF) {
358353
#ifdef DEBUG
359-
Printf("The TPC track that should have been matched to TOF is number %d", i);
354+
Printf("The TPC track that should have been matched to TOF is number %d", i);
360355
#endif
361-
TPCfound = true;
362-
}
356+
TPCfound = true;
363357
}
364-
const auto& labelsITScheck = mcITS->getLabels(evIdxITScheck);
365-
for (uint ilabel = 0; ilabel < labelsITScheck.size(); ilabel++) {
366-
if (labelsITScheck[ilabel].getTrackID() == trackIdTOF && labelsITScheck[ilabel].getEventID() == eventIdTOF && labelsITScheck[ilabel].getSourceID() == sourceIdTOF) {
358+
const auto& labelsITScheck = (*mcITS)[evIdxITScheck];
359+
if (labelsITScheck.getTrackID() == trackIdTOF && labelsITScheck.getEventID() == eventIdTOF && labelsITScheck.getSourceID() == sourceIdTOF) {
367360
#ifdef DEBUG
368-
Printf("The ITS track that should have been matched to TOF is number %d", i);
361+
Printf("The ITS track that should have been matched to TOF is number %d", i);
369362
#endif
370-
ITSfound = true;
371-
}
363+
ITSfound = true;
372364
}
373365
}
374366
#ifdef DEBUG

‎macro/runCATrackingClusterNative.C‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ int runCATrackingClusterNative(TString inputFile, TString outputFile)
100100

101101
vector<TrackTPC> tracks;
102102
vector<TPCClRefElem> trackClusRefs;
103-
MCLabelContainer tracksMC;
103+
std::vector<o2::MCCompLabel> tracksMC;
104104

105105
TFile fout(outputFile, "recreate");
106106
TTree tout("events", "events");

‎macro/run_trac_ca_its.C‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ void run_trac_ca_its(std::string path = "./",
165165
std::vector<o2::itsmft::ROFRecord> vertROFvec, *vertROFvecPtr = &vertROFvec;
166166
std::vector<Vertex> vertices, *verticesPtr = &vertices;
167167

168-
MCLabCont trackLabels, *trackLabelsPtr = &trackLabels;
168+
std::vector<o2::MCCompLabel> trackLabels, *trackLabelsPtr = &trackLabels;
169169
outTree.Branch("ITSTrack", &tracksITSPtr);
170170
outTree.Branch("ITSTrackClusIdx", &trackClIdxPtr);
171171
outTree.Branch("ITSTrackMCTruth", &trackLabelsPtr);

‎macro/run_trac_its.C‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include "ITStracking/VertexerTraits.h"
3939

4040
using MCLabCont = o2::dataformats::MCTruthContainer<o2::MCCompLabel>;
41+
using MCLabContTr = std::vector<o2::MCCompLabel>;
4142
using Vertex = o2::dataformats::Vertex<o2::dataformats::TimeStamp<int>>;
4243

4344
void run_trac_its(std::string path = "./", std::string outputfile = "o2trac_its.root",
@@ -141,7 +142,7 @@ void run_trac_its(std::string path = "./", std::string outputfile = "o2trac_its.
141142
std::vector<o2::itsmft::ROFRecord> vertROFvec, *vertROFvecPtr = &vertROFvec;
142143
std::vector<Vertex> vertices, *verticesPtr = &vertices;
143144

144-
MCLabCont trackLabels, *trackLabelsPtr = &trackLabels;
145+
MCLabContTr trackLabels, *trackLabelsPtr = &trackLabels;
145146
outTree.Branch("ITSTrack", &tracksITSPtr);
146147
outTree.Branch("ITSTrackClusIdx", &trackClIdxPtr);
147148
outTree.Branch("ITSTrackMCTruth", &trackLabelsPtr);

0 commit comments

Comments
 (0)