fPrecisionPhi(0.001),
fUseMCReactionPlane(kFALSE),
fSP(kFALSE),
+ fVariableMultiplicity(0),
+ fTriggerUsed(0),
fMCPID(kFALSE),
fNoPID(kFALSE),
fChi2OverNDFCut(3.0),
fPrecisionPhi(0.001),
fUseMCReactionPlane(kFALSE),
fSP(kFALSE),
+ fVariableMultiplicity(0),
+ fTriggerUsed(0),
fMCPID(kFALSE),
fNoPID(kFALSE),
fChi2OverNDFCut(3.0),
fPrecisionPhi(ref.fPrecisionPhi),
fUseMCReactionPlane(ref.fUseMCReactionPlane),
fSP(ref.fSP),
+ fVariableMultiplicity(ref.fVariableMultiplicity),
+ fTriggerUsed(ref.fTriggerUsed),
fMCPID(ref.fMCPID),
fNoPID(ref.fNoPID),
fChi2OverNDFCut(ref.fChi2OverNDFCut),
target.fPrecisionPhi = fPrecisionPhi;
target.fUseMCReactionPlane = fUseMCReactionPlane;
target.fSP = fSP;
+ target.fVariableMultiplicity = fVariableMultiplicity;
+ target.fTriggerUsed = fTriggerUsed;
target.fMCPID = fMCPID;
target.fNoPID = fNoPID;
target.fChi2OverNDFCut = fChi2OverNDFCut;
}
}
+ /////////////////////
+ // Trigger selection
+ ////////////////////
+ if(fTriggerUsed==0){
+
+ // central, semi-central and central
+
+ if ( !((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kCentral) || (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kSemiCentral) || (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB)) ) return;
+
+ }
+ if(fTriggerUsed==1){
+
+ // semi-central Ionut
+
+ if ( !((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kCentral) || (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kSemiCentral) || (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB)) ) return;
+
+ //Bool_t isMB = (InputEvent()->GetTriggerMask() & (ULong64_t(1)<<1));
+ //Bool_t isCentral = (InputEvent()->GetTriggerMask() & (ULong64_t(1)<<4));
+ Bool_t isSemiCentral = (InputEvent()->GetTriggerMask() & (ULong64_t(1)<<7));
+
+ if(!isSemiCentral) return;
+
+ }
+ if(fTriggerUsed==2){
+
+ // semi-central Andrea and Muons
+
+ if ( !(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kAny) ) return;
+
+ //TString firedTriggerClasses = static_cast<const AliAODEvent*>(InputEvent())->GetFiredTriggerClasses();
+ TString firedTriggerClasses = InputEvent()->GetFiredTriggerClasses();
+
+ if ( ! ( firedTriggerClasses.Contains("CVLN_B2-B-NOPF-ALLNOTRD") || firedTriggerClasses.Contains("CVLN_R1-B-NOPF-ALLNOTRD") || firedTriggerClasses.Contains("CSEMI_R1-B-NOPF-ALLNOTRD") ) ) return;
+ }
/////////////////
// centrality
AliHFEpidObject hfetrack;
if(!fAODAnalysis){
hfetrack.SetAnalysisType(AliHFEpidObject::kESDanalysis);
- if(((AliESDEvent*)fInputEvent)->GetPrimaryVertexSPD()) hfetrack.SetMulitplicity(((AliESDEvent*)fInputEvent)->GetPrimaryVertexSPD()->GetNContributors());
+ if(fVariableMultiplicity==0){
+ if(((AliESDEvent*)fInputEvent)->GetPrimaryVertexSPD()) {
+ hfetrack.SetMulitplicity(((AliESDEvent*)fInputEvent)->GetPrimaryVertexSPD()->GetNContributors());
+ printf("SPD vertex contributors %d and number of ESD tracks %d\n",((AliESDEvent*)fInputEvent)->GetPrimaryVertexSPD()->GetNContributors(),((AliESDEvent*)fInputEvent)->GetNumberOfESDTracks());
+ }
+ }
+ if(fVariableMultiplicity==1){
+ hfetrack.SetMulitplicity(((AliESDEvent*)fInputEvent)->GetNumberOfESDTracks()/8.);
+ }
}else{
hfetrack.SetAnalysisType(AliHFEpidObject::kAODanalysis);
- if(((AliAODEvent*)fInputEvent)->GetPrimaryVertexSPD()) hfetrack.SetMulitplicity(((AliAODEvent*)fInputEvent)->GetPrimaryVertexSPD()->GetNContributors());
+ if(fVariableMultiplicity==0){
+ if(((AliAODEvent*)fInputEvent)->GetPrimaryVertexSPD()) hfetrack.SetMulitplicity(((AliAODEvent*)fInputEvent)->GetPrimaryVertexSPD()->GetNContributors());
+ }
+ if(fVariableMultiplicity==1){
+ hfetrack.SetMulitplicity(((AliAODEvent*)fInputEvent)->GetNumberOfESDTracks()/8.);
+ }
}
hfetrack.SetRecTrack(track);
hfetrack.SetCentrality((Int_t)binct);
void SetPrecisionPhi(Double_t precisionPhi) { fPrecisionPhi = precisionPhi;};
void SetUseMCReactionPlane(Bool_t useMCReactionPlane) { fUseMCReactionPlane = useMCReactionPlane;};
void SetUseSP(Bool_t useSP) { fSP = useSP;}
+ void SetVariableMultiplicity(Int_t variableMultiplicity) { fVariableMultiplicity = variableMultiplicity;}
+ void SetTriggerUsed(Int_t triggerUsed) { fTriggerUsed = triggerUsed;}
void SetMCPID(Bool_t mcPID) { fMCPID = mcPID;};
void SetNoPID(Bool_t noPID) { fNoPID = noPID;};
Double_t fPrecisionPhi; // precision phi for adding v2
Bool_t fUseMCReactionPlane; // use MC reaction plane
Bool_t fSP; // calculate using scalar product method (instead of event plane method)
+ Int_t fVariableMultiplicity; // Variable used to correct for multiplicity variations (0: SPD vertex, 1: GetNumberESDtracks, )
+ Int_t fTriggerUsed; // Selected trigger
Bool_t fMCPID; // MC PID for electrons
Bool_t fNoPID; // No PID for checks
Int_t IsMotherEta(Int_t tr, AliMCEvent* mcEvent);
- ClassDef(AliAnalysisTaskFlowTPCTOFEPSP, 2); // analysisclass
+ ClassDef(AliAnalysisTaskFlowTPCTOFEPSP, 3); // analysisclass
};
#endif