@@ -69,27 +69,39 @@ DataProcessorSpec getClusterWriterSpec(bool useMC, bool doStag)
6969 };
7070 auto detNameLC = detName;
7171 std::transform (detNameLC.begin (), detNameLC.end (), detNameLC.begin (), [](unsigned char c) { return std::tolower (c); });
72+ std::vector<InputSpec> vecInpSpecClus, vecInpSpecPatt, vecInpSpecROF, vecInpSpecLbl;
73+ vecInpSpecClus.reserve (nLayers);
74+ vecInpSpecPatt.reserve (nLayers);
75+ vecInpSpecROF.reserve (nLayers);
76+ vecInpSpecLbl.reserve (nLayers);
77+ for (int iLayer = 0 ; iLayer < nLayers; iLayer++) {
78+ vecInpSpecClus.emplace_back (getName (" compclus" , iLayer), Origin, " COMPCLUSTERS" , iLayer);
79+ vecInpSpecPatt.emplace_back (getName (" patterns" , iLayer), Origin, " PATTERNS" , iLayer);
80+ vecInpSpecROF.emplace_back (getName (" ROframes" , iLayer), Origin, " CLUSTERSROF" , iLayer);
81+ vecInpSpecLbl.emplace_back (getName (" labels" , iLayer), Origin, " CLUSTERSMCTR" , iLayer);
82+ }
83+
7284 return MakeRootTreeWriterSpec (std::format (" {}-cluster-writer" , detNameLC).c_str (),
7385 (o2::detectors::DetID::ITS == N) ? " o2clus_its.root" : " mftclusters.root" ,
7486 MakeRootTreeWriterSpec::TreeAttributes{.name = " o2sim" , .title = std::format (" Tree with {} clusters" , detName)},
75- BranchDefinition<CompClusType>{InputSpec{ " compclus " , ConcreteDataTypeMatcher{Origin, " COMPCLUSTERS " }} ,
87+ BranchDefinition<CompClusType>{vecInpSpecClus ,
7688 (detName + " ClusterComp" ).c_str (), " compact-cluster-branch" ,
7789 nLayers,
7890 compClustersSizeGetter,
7991 getIndex,
8092 getName},
81- BranchDefinition<PatternsType>{InputSpec{ " patterns " , ConcreteDataTypeMatcher{Origin, " PATTERNS " }} ,
93+ BranchDefinition<PatternsType>{vecInpSpecPatt ,
8294 (detName + " ClusterPatt" ).c_str (), " cluster-pattern-branch" ,
8395 nLayers,
8496 getIndex,
8597 getName},
86- BranchDefinition<ROFrameRType>{InputSpec{ " ROframes " , ConcreteDataTypeMatcher{Origin, " CLUSTERSROF " }} ,
98+ BranchDefinition<ROFrameRType>{vecInpSpecROF ,
8799 (detName + " ClustersROF" ).c_str (), " cluster-rof-branch" ,
88100 nLayers,
89101 logger,
90102 getIndex,
91103 getName},
92- BranchDefinition<LabelsType>{InputSpec{ " labels " , ConcreteDataTypeMatcher{Origin, " CLUSTERSMCTR " }} ,
104+ BranchDefinition<LabelsType>{vecInpSpecLbl ,
93105 (detName + " ClusterMCTruth" ).c_str (), " cluster-label-branch" ,
94106 (useMC ? nLayers : 0 ),
95107 getIndex,
0 commit comments