Bool_t AreClustersRecalculated() const { return fRecalculateClusters ; }
void SwitchOnClusterRecalculation() { fRecalculateClusters = kTRUE ; }
void SwitchOffClusterRecalculation() { fRecalculateClusters = kFALSE ; }
-
+
+ void SwitchOnClusterELinearityCorrection() { fCorrectELinearity = kTRUE ; }
+ void SwitchOffClusterELinearityCorrection() { fCorrectELinearity = kFALSE ; }
+
Bool_t IsEmbeddedClusterSelectionOn() const { return fSelectEmbeddedClusters ; }
void SwitchOnEmbeddedClustersSelection() { fSelectEmbeddedClusters = kTRUE ; }
void SwitchOffEmbeddedClustersSelection() { fSelectEmbeddedClusters = kFALSE ; }
virtual TObjArray* GetPHOSClusters() const { return fPHOSClusters ; }
virtual AliVCaloCells* GetEMCALCells() const { return fEMCALCells ; }
virtual AliVCaloCells* GetPHOSCells() const { return fPHOSCells ; }
-
+
//-------------------------------------
// Event/track selection methods
//-------------------------------------
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 ; }
void SetFiredTriggerClassName(TString name ) { fFiredTriggerClassName = name ; }
TString GetFiredTriggerClassName() const { return fFiredTriggerClassName ; }
- TString GetFiredTriggerClasses() ;
+ TString GetFiredTriggerClasses() const { return GetInputEvent()->GetFiredTriggerClasses() ; }
UInt_t GetEventTriggerMask() const { return fEventTriggerMask ; }
void SetEventTriggerMask(UInt_t evtTrig = AliVEvent::kAny)
void SwitchOffBadTriggerEventsRemoval() { fRemoveBadTriggerEvents = kFALSE ; }
void SwitchOnBadTriggerEventsRemoval() { fRemoveBadTriggerEvents = kTRUE ; }
+ void SwitchOffUnMatchedTriggerEventsRemoval(){ fRemoveUnMatchedTriggers = kFALSE ; }
+ void SwitchOnUnMatchedTriggerEventsRemoval() { fRemoveUnMatchedTriggers = kTRUE ; }
+
void SwitchOffTriggerPatchMatching() { fTriggerPatchClusterMatch = kFALSE ; }
void SwitchOnTriggerPatchMatching() { fTriggerPatchClusterMatch = kTRUE ; }
+ void SwitchOnTriggerClusterTimeRecal () { fTriggerClusterTimeRecal = kTRUE ; }
+ void SwitchOffTriggerClusterTimeRecal() { fTriggerClusterTimeRecal = kFALSE ; }
+
UInt_t GetMixEventTriggerMask() const { return fMixEventTriggerMask ; }
void SetMixEventTriggerMask(UInt_t evtTrig = AliVEvent::kAnyINT)
{ fMixEventTriggerMask = evtTrig ; }
void AnalyzeOnlyLED() { fAnaLED = kTRUE ; }
void AnalyzeOnlyPhysics() { fAnaLED = kFALSE ; }
- void SwitchOnCaloFilterPatch() { fCaloFilterPatch = kTRUE ;
- fFillCTS = kFALSE ; }
- void SwitchOffCaloFilterPatch() { fCaloFilterPatch = kFALSE ; }
- Bool_t IsCaloFilterPatchOn() const {
- if(fDataType == kAOD) { return fCaloFilterPatch ; }
- else { return kFALSE ; } }
-
//-------------------------------
// Vertex methods
//-------------------------------
virtual Double_t GetBField() const { return fInputEvent->GetMagneticField() ; }
- void SetImportGeometryFromFile(Bool_t import,
- TString path = "") {
- fImportGeometryFromFile = import ;
- fImportGeometryFilePath = path ; }
-
//------------------------------------------------
// MC analysis specific methods
//-------------------------------------------------
void RemapMCLabelForAODs(Int_t &label);
// Select generated events, depending on comparison of pT hard and jets
-
+
virtual Bool_t ComparePtHardAndJetPt() ;
virtual Bool_t IsPtHardAndJetPtComparisonSet() const { return fComparePtHardAndJetPt ; }
virtual void SetPtHardAndJetPtComparison(Bool_t compare) { fComparePtHardAndJetPt = compare ; }
virtual Float_t GetPtHardAndClusterFactor() const { return fPtHardAndClusterPtFactor ; }
virtual void SetPtHardAndClusterPtFactor(Float_t factor) { fPtHardAndClusterPtFactor = factor ; }
+ virtual Bool_t IsHIJINGLabel(const Int_t label);
+ void SetGeneratorMinMaxParticles();
+ void SwitchOnAcceptOnlyHIJINGLabels() { fAcceptOnlyHIJINGLabels = kTRUE ; }
+ void SwitchOffAcceptOnlyHIJINGLabels() { fAcceptOnlyHIJINGLabels = kFALSE ; }
+ Bool_t AcceptOnlyHIJINGLabels() const { return fAcceptOnlyHIJINGLabels ; }
// MC reader methods, declared there to allow compilation, they are only used in the MC reader
virtual void SetEMCALOverlapAngle(Float_t /*angle*/) { ; }
virtual void SetPHOSOverlapAngle(Float_t /*angle*/) { ; }
+ //-------------
+ // Jets
+ //-------------
+ Bool_t IsNonStandardJetsSwitchedOn() const { return fFillInputNonStandardJetBranch ; }
+ void SwitchOnNonStandardJets() { fFillInputNonStandardJetBranch = kTRUE ; }
+ void SwitchOffNonStandardJets() { fFillInputNonStandardJetBranch = kFALSE ; }
+
+ virtual void FillInputNonStandardJets() ;
+ virtual TClonesArray* GetNonStandardJets() const { return fNonStandardJets ; }
+ virtual void SetInputNonStandardJetBranchName(TString name) { fInputNonStandardJetBranchName = name ; }
+ virtual TString GetInputNonStandardJetBranchName() { return fInputNonStandardJetBranchName ; }
protected:
Int_t fEventNumber; // Event number
Bool_t fFillEMCALCells; // use data from EMCAL
Bool_t fFillPHOSCells; // use data from PHOS
Bool_t fRecalculateClusters; // Correct clusters, recalculate them if recalibration parameters is given
+ Bool_t fCorrectELinearity; // Correct cluster linearity, always on
Bool_t fSelectEmbeddedClusters; // Use only simulated clusters that come from embedding.
ULong_t fTrackStatus ; // Track selection bit, select tracks refitted in TPC, ITS ...
Int_t fV0ADC[2] ; // Integrated V0 signal
Int_t fV0Mul[2] ; // Integrated V0 Multiplicity
- Bool_t fCaloFilterPatch; // CaloFilter patch
TString fEMCALClustersListName; // Alternative list of clusters produced elsewhere and not from InputEvent
// Event selection
Bool_t fIsBadMaxCellEvent; // Bad cell triggered event flag, only max energy cell is bad
Bool_t fIsTriggerMatch; // Could match the event to a trigger patch?
Bool_t fIsTriggerMatchOpenCut[3]; // Could not match the event to a trigger patch?, retry opening cuts
-
+ Bool_t fTriggerClusterTimeRecal; // In case cluster already calibrated, do not try to recalibrate even if recalib on in RecoUtils.
+ Bool_t fRemoveUnMatchedTriggers; // Analyze events where trigger patch and cluster where found or not
+
Bool_t fDoEventSelection; // Select events depending on V0, pileup, vertex well reconstructed, at least 1 track ...
Bool_t fDoV0ANDEventSelection; // Select events depending on V0, fDoEventSelection should be on
Int_t fCentralityOpt; // Option for the returned value of the centrality, possible options 5, 10, 100
Int_t fCentralityBin[2]; // Minimum and maximum value of the centrality for the analysis
TString fEventPlaneMethod; // Name of event plane method, by default "Q"
+
+ Bool_t fAcceptOnlyHIJINGLabels; // Select clusters or tracks that where generated by HIJING, reject other generators in case of cocktail
+ Int_t fNMCProducedMin; // In case of cocktail, select particles in the list with label from this value
+ Int_t fNMCProducedMax; // In case of cocktail, select particles in the list with label up to this value
- Bool_t fImportGeometryFromFile; // Import geometry settings in geometry.root file
- TString fImportGeometryFilePath; // path fo geometry.root file
+ // 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,57)
+ ClassDef(AliCaloTrackReader,62)
} ;