- if ((iev == 0) || !aod) localList->Reset();
- if(runTagCuts->IsAccepted(tag)) {
- if(lhcTagCuts->IsAccepted(tag->GetLHCTag())) {
- if(detTagCuts->IsAccepted(tag->GetDetectorTags())) {
- Int_t iEvents = tag->GetNEvents();
- const TClonesArray *tagList = tag->GetEventTags();
- iRejectedEvtInFile = 0;
- iAcceptedEvtInFile = 0;
- for(Int_t i = 0; i < iEvents; i++) {
- evTag = (AliEventTag *) tagList->At(i);
- guid = evTag->GetGUID();
- turl = evTag->GetTURL();
- lfn = turl(8,turl.Length());
- if(evTagCuts->IsAccepted(evTag)) {
- if(aod) localList->Enter(iev);
- else localList->Enter(i);
- iAcceptedEvtInFile++;
- }
+ localList.Reset();
+
+ if ( !runTagCuts || ( runTagCuts && runTagCuts->IsAccepted(tag) ) )
+ {
+ if ( !lhcTagCuts || ( lhcTagCuts && lhcTagCuts->IsAccepted(tag->GetLHCTag())) )
+ {
+ if ( !detTagCuts || ( detTagCuts && detTagCuts->IsAccepted(tag->GetDetectorTags())) )
+ {
+ Int_t i(0);
+ TIter next(tag->GetEventTags());
+ AliEventTag* evTag(0x0);
+ iRejectedEvtInFile = 0;
+ iAcceptedEvtInFile = 0;
+ while ( ( evTag = static_cast<AliEventTag*>(next()) ) )
+ {
+ guid = evTag->GetGUID();
+ turl = evTag->GetTURL();
+ lfn = turl(8,turl.Length());
+ if( !evTagCuts || ( evTagCuts && evTagCuts->IsAccepted(evTag)) )
+ {
+ localList.Enter(i);
+ iAcceptedEvtInFile++;
+ }
+ else
+ {
+ ++iRejectedEvt;
+ ++iRejectedEvtInFile;
+ }
+ ++i;
+ }//event loop
+ iAccepted += localList.GetN();
+ collection.WriteBody(iTagFiles+1,guid,lfn,turl,&localList,iAcceptedEvtInFile,iRejectedEvtInFile);
+ }//detector tag cuts