fEventPlaneMethod(""), fImportGeometryFromFile(kFALSE), fImportGeometryFilePath(""),
fAcceptOnlyHIJINGLabels(0), fNMCProducedMin(0), fNMCProducedMax(0),
fFillInputNonStandardJetBranch(kFALSE),
-fNonStandardJets(new TClonesArray("AliAODJet",100)),fInputNonStandardJetBranchName("jets")
+fNonStandardJets(new TClonesArray("AliAODJet",100)),fInputNonStandardJetBranchName("jets"),
+fAcceptEventsWithBit(0), fRejectEventsWithBit(0)
{
//Ctor
delete fNonStandardJets ;
}
+ fRejectEventsWithBit.Reset();
+ fAcceptEventsWithBit.Reset();
+
// Pointers not owned, done by the analysis frame
// if(fInputEvent) delete fInputEvent ;
// if(fOutputEvent) delete fOutputEvent ;
}
+//_____________________________________________________
+Bool_t AliCaloTrackReader::AcceptEventWithTriggerBit()
+{
+ // Accept events that pass the physics selection
+ // depending on an array of trigger bits set during the configuration
+
+ Int_t nAccept = fAcceptEventsWithBit.GetSize();
+
+ //printf("N accept %d\n", nAccept);
+
+ if( nAccept <= 0 )
+ return kTRUE ; // accept the event
+
+ UInt_t trigFired = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
+
+ for(Int_t ibit = 0; ibit < nAccept; ibit++)
+ {
+ Bool_t accept = (trigFired & fAcceptEventsWithBit.At(ibit));
+
+ //printf("accept %d, ibit %d, bit %d \n",accept, ibit,fAcceptEventsWithBit.At(ibit));
+ if(accept) return kTRUE ; // accept the event
+ }
+
+ return kFALSE ; // reject the event
+
+}
+
+//_____________________________________________________
+Bool_t AliCaloTrackReader::RejectEventWithTriggerBit()
+{
+ // Reject events that pass the physics selection
+ // depending on an array of trigger bits set during the configuration
+
+ Int_t nReject = fRejectEventsWithBit.GetSize();
+
+ //printf("N reject %d\n", nReject);
+
+ if( nReject <= 0 )
+ return kTRUE ; // accept the event
+
+ UInt_t trigFired = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
+
+ for(Int_t ibit = 0; ibit < nReject; ibit++)
+ {
+ Bool_t reject = (trigFired & fRejectEventsWithBit.At(ibit));
+
+ //printf("reject %d, ibit %d, bit %d \n",reject, ibit,fRejectEventsWithBit.At(ibit));
+ if(reject) return kFALSE ; // reject the event
+ }
+
+ return kTRUE ; // accept the event
+
+}
+
+
//________________________________________________
Bool_t AliCaloTrackReader::ComparePtHardAndJetPt()
{
if(reject) return kFALSE;
}// Remove LED events
- //------------------------
- // Reject pure LED events?
- //-------------------------
+ //-------------------------------------------------------------------------------------
+ // Reject or accept events depending on the trigger bit
+ //-------------------------------------------------------------------------------------
+
+ //printf("AliCaloTrackReader::FillInputEvent() - FiredTriggerClass <%s>\n", GetFiredTriggerClasses().Data());
+
+ Bool_t okA = AcceptEventWithTriggerBit();
+ Bool_t okR = RejectEventWithTriggerBit();
+
+ //printf("AliCaloTrackReader::FillInputEvent() - Accept event? %d, Reject event %d? \n",okA,okR);
+
+ if(!okA || !okR) return kFALSE;
+
+ //-----------------------------------------------------------
+ // Reject events depending on the trigger name and event type
+ //-----------------------------------------------------------
if( fFiredTriggerClassName !="" && !fAnaLED)
{
//printf("Event type %d\n",eventType);
void RejectFastClusterEvents() { fAcceptFastCluster = kFALSE ; }
Bool_t IsFastClusterAccepted() const { return fAcceptFastCluster ; }
+ Bool_t AcceptEventWithTriggerBit();
+ Bool_t RejectEventWithTriggerBit();
+ void SetAcceptEventsWithBit(UInt_t bit) { Int_t n = fAcceptEventsWithBit.GetSize();
+ fAcceptEventsWithBit.Set(n+1);
+ fAcceptEventsWithBit.AddAt(bit,n) ; }
+
+ void SetRejectEventsWithBit(UInt_t bit) { Int_t n = fRejectEventsWithBit.GetSize();
+ fRejectEventsWithBit.Set(n+1);
+ fRejectEventsWithBit.AddAt(bit,n) ; }
+
void SwitchOnLEDEventsRemoval() { fRemoveLEDEvents = kTRUE ; }
void SwitchOffLEDEventsRemoval() { fRemoveLEDEvents = kFALSE ; }
Bool_t IsLEDEventRemoved() const { return fRemoveLEDEvents ; }
Int_t fNMCProducedMax; // In case of cocktail, select particles in the list with label up to this value
// jets
-
Bool_t fFillInputNonStandardJetBranch; // Flag to use data from non standard jets
TClonesArray * fNonStandardJets; //! temporal array with jets
TString fInputNonStandardJetBranchName; // Name of non standard jet branch
+ TArrayI fAcceptEventsWithBit; // Accept events if trigger bit is on
+ TArrayI fRejectEventsWithBit; // Reject events if trigger bit is on
+
AliCaloTrackReader( const AliCaloTrackReader & r) ; // cpy ctor
AliCaloTrackReader & operator = (const AliCaloTrackReader & r) ; // cpy assignment
- ClassDef(AliCaloTrackReader,59)
+ ClassDef(AliCaloTrackReader,60)
} ;