@@ -139,13 +139,11 @@ struct taskFwdTrackPid {
139139 template <bool TMatchedOnly, uint32_t TEventFillMap, uint32_t TTrackFillMap, typename TEvent, typename Muons, typename MftTracks>
140140 void runFwdTrackPid (TEvent const & event, Muons const & muons, MftTracks const & mftTracks)
141141 {
142- uint32_t mcDecision = 0 ;
143-
144142 fwdPidAllList.reserve (1 );
145143 for (const auto & muon : muons) {
146144 if (muon.has_matchMFTTrack () && muon.trackType () == 0 && TMath::Abs (muon.fwdDcaX ()) < fConfigMaxDCA && TMath::Abs (muon.fwdDcaY ()) < fConfigMaxDCA ) {
147145 auto mftTrack = muon.template matchMFTTrack_as <MyMftTracks>();
148- fwdPidAllList (muon.trackType (), event.posX (), event.posY (), event.posZ (), event.numContrib (), muon.pt (), muon.eta (), muon.phi (), muon.sign (), mftTrack.mftClusterSizesAndTrackFlags (), muon.fwdDcaX (), muon.fwdDcaY (), muon.chi2MatchMCHMID (), muon.chi2MatchMCHMFT (), mcDecision );
146+ fwdPidAllList (muon.trackType (), event.posX (), event.posY (), event.posZ (), event.numContrib (), muon.pt (), muon.eta (), muon.phi (), muon.sign (), mftTrack.mftClusterSizesAndTrackFlags (), muon.fwdDcaX (), muon.fwdDcaY (), muon.chi2MatchMCHMID (), muon.chi2MatchMCHMFT (), 0 );
149147 }
150148 }
151149 if constexpr (TMatchedOnly == false ) {
@@ -157,7 +155,7 @@ struct taskFwdTrackPid {
157155 continue ;
158156 }
159157 }
160- fwdPidAllList (4 , event.posX (), event.posY (), event.posZ (), event.numContrib (), mftTrack.pt (), mftTrack.eta (), mftTrack.phi (), mftTrack.sign (), mftTrack.mftClusterSizesAndTrackFlags (), mftTrack.fwdDcaX (), mftTrack.fwdDcaY (), -999 , -999 , mcDecision );
158+ fwdPidAllList (4 , event.posX (), event.posY (), event.posZ (), event.numContrib (), mftTrack.pt (), mftTrack.eta (), mftTrack.phi (), mftTrack.sign (), mftTrack.mftClusterSizesAndTrackFlags (), mftTrack.fwdDcaX (), mftTrack.fwdDcaY (), -999 , -999 , 0 );
161159 }
162160 }
163161 }
@@ -169,31 +167,16 @@ struct taskFwdTrackPid {
169167 {
170168 fwdPidAllList.reserve (1 );
171169 for (const auto & muon : muons) {
172- uint32_t mcDecision = 0 ;
173- int isig = 0 ;
174- for (auto sig = fRecMCSignals .begin (); sig != fRecMCSignals .end (); sig++, isig++) {
175- if ((*sig).CheckSignal (false , muon.reducedMCTrack ())) {
176- mcDecision |= (uint32_t (1 ) << isig);
177- }
178- }
179-
180170 if (muon.has_matchMFTTrack () && muon.trackType () == 0 && TMath::Abs (muon.fwdDcaX ()) < fConfigMaxDCA && TMath::Abs (muon.fwdDcaY ()) < fConfigMaxDCA ) {
181171 auto mftTrack = muon.template matchMFTTrack_as <MyMftTracksMC>();
182- fwdPidAllList (muon.trackType (), event.posX (), event.posY (), event.posZ (), event.numContrib (), muon.pt (), muon.eta (), muon.phi (), muon.sign (), mftTrack.mftClusterSizesAndTrackFlags (), muon.fwdDcaX (), muon.fwdDcaY (), muon.chi2MatchMCHMID (), muon.chi2MatchMCHMFT (), mcDecision );
172+ fwdPidAllList (muon.trackType (), event.posX (), event.posY (), event.posZ (), event.numContrib (), muon.pt (), muon.eta (), muon.phi (), muon.sign (), mftTrack.mftClusterSizesAndTrackFlags (), muon.fwdDcaX (), muon.fwdDcaY (), muon.chi2MatchMCHMID (), muon.chi2MatchMCHMFT (), muon. mcReducedFlags () );
183173 }
184174 }
185175
186176 if constexpr (TMatchedOnly == false ) {
187177 for (const auto & mftTrack : mftTracks) {
188- uint32_t mcDecision = 0 ;
189- int isig = 0 ;
190- for (auto sig = fRecMCSignals .begin (); sig != fRecMCSignals .end (); sig++, isig++) {
191- if ((*sig).CheckSignal (false , mftTrack.reducedMCTrack ())) {
192- mcDecision |= (uint32_t (1 ) << isig);
193- }
194- }
195178 if (TMath::Abs (mftTrack.fwdDcaX ()) < fConfigMaxDCA && TMath::Abs (mftTrack.fwdDcaY ()) < fConfigMaxDCA ) {
196- fwdPidAllList (4 , event.posX (), event.posY (), event.posZ (), event.numContrib (), mftTrack.pt (), mftTrack.eta (), mftTrack.phi (), mftTrack.sign (), mftTrack.mftClusterSizesAndTrackFlags (), mftTrack.fwdDcaX (), mftTrack.fwdDcaY (), -999 , -999 , mcDecision );
179+ fwdPidAllList (4 , event.posX (), event.posY (), event.posZ (), event.numContrib (), mftTrack.pt (), mftTrack.eta (), mftTrack.phi (), mftTrack.sign (), mftTrack.mftClusterSizesAndTrackFlags (), mftTrack.fwdDcaX (), mftTrack.fwdDcaY (), -999 , -999 , mftTrack. mcReducedFlags () );
197180 }
198181 }
199182 }
@@ -206,19 +189,10 @@ struct taskFwdTrackPid {
206189 for (auto & mctrack : groupedMCTracks) {
207190 VarManager::FillTrackMC (groupedMCTracks, mctrack);
208191
209- for (auto & sig : fGenMCSignals ) {
210- if (sig.GetNProngs () != 1 ) { // NOTE: 1-prong signals required
211- continue ;
212- }
213- bool checked = false ;
214- if constexpr (soa::is_soa_filtered_v<TTracksMC>) {
215- auto mctrack_raw = groupedMCTracks.rawIteratorAt (mctrack.globalIndex ());
216- checked = sig.CheckSignal (false , mctrack_raw);
217- } else {
218- checked = sig.CheckSignal (false , mctrack);
219- }
220- if (checked) {
221- fHistMan ->FillHistClass (Form (" MCTruthGen_%s" , sig.GetName ()), VarManager::fgValues);
192+ int isig = 0 ;
193+ for (auto sig = fGenMCSignals .begin (); sig != fGenMCSignals .end (); sig++, isig++) {
194+ if (mctrack.mcReducedFlags () & (static_cast <uint16_t >(1 ) << isig)) {
195+ fHistMan ->FillHistClass (Form (" MCTruthGen_%s" , sig->GetName ()), VarManager::fgValues);
222196 }
223197 }
224198 }
@@ -287,8 +261,7 @@ void DefineHistograms(HistogramManager* histMan, TString histClasses)
287261 if (classStr.Contains (" MCTruthGen" )) {
288262 dqhistograms::DefineHistograms (histMan, objArray->At (iclass)->GetName (), " mctruth" );
289263 histMan->AddHistogram (objArray->At (iclass)->GetName (), " Pt_Rapidity" , " MC generator p_{T}, y distribution" , false , 120 , 0.0 , 30.0 , VarManager::kMCPt , 150 , 2.5 , 4.0 , VarManager::kMCY );
290- histMan->AddHistogram (objArray->At (iclass)->GetName (), " Eta" , " MC generator #eta distribution" , false , 200 , 2.5 , 4.0 , VarManager::kMCEta );
291- // histMan->AddHistogram(objArray->At(iclass)->GetName(), "Rapidity", "MC generator y distribution", false, 150, 2.5, 4.0, VarManager::kMCY);
264+ histMan->AddHistogram (objArray->At (iclass)->GetName (), " Eta" , " MC generator #eta distribution" , false , 200 , -5.0 , 5.0 , VarManager::kMCEta );
292265 histMan->AddHistogram (objArray->At (iclass)->GetName (), " Phi" , " MC generator #varphi distribution" , false , 50 , 0.0 , 2 . * TMath::Pi (), VarManager::kMCPhi );
293266 }
294267
0 commit comments