#include "THnSparse.h"\r
\r
#include "AliHeader.h" \r
+#include "AliInputEventHandler.h" \r
+#include "AliAnalysisManager.h" \r
#include "AliGenEventHeader.h" \r
#include "AliStack.h" \r
#include "AliESDEvent.h" \r
\r
// trigger selection\r
Bool_t isEventTriggered = kTRUE;\r
- AliPhysicsSelection *trigSel = NULL;\r
- AliTriggerAnalysis *trigAna = NULL;\r
+ AliPhysicsSelection *physicsSelection = NULL;\r
+ AliTriggerAnalysis* triggerAnalysis = NULL;\r
+\r
+ // \r
+ AliInputEventHandler* inputHandler = (AliInputEventHandler*) AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();\r
+ if (!inputHandler)\r
+ {\r
+ Printf("ERROR: Could not receive input handler");\r
+ return;\r
+ }\r
\r
+ if(evtCuts->IsTriggerRequired()) \r
+ {\r
+ // always MB\r
+ isEventTriggered = inputHandler->IsEventSelected() & AliVEvent::kMB;\r
+\r
+ physicsSelection = static_cast<AliPhysicsSelection*> (inputHandler->GetEventSelection());\r
+ if(!physicsSelection) return;\r
+ //SetPhysicsTriggerSelection(physicsSelection);\r
+\r
+ if (isEventTriggered) {\r
+ // set trigger (V0AND)\r
+ triggerAnalysis = physicsSelection->GetTriggerAnalysis();\r
+ if(!triggerAnalysis) return;\r
+ isEventTriggered = triggerAnalysis->IsOfflineTriggerFired(esdEvent, GetTrigger());\r
+ }\r
+\r
+ // calculate LHC background\r
+ if(!IsUseMCInfo()) \r
+ { \r
+ //\r
+ // 0-multiplicity bin for LHC background correction\r
+ //\r
+ if( GetAnalysisMode() == AlidNdPtHelper::kTPCITS || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtxUpdate || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtxDCArPt ) \r
+ {\r
+ physicsSelection->SetBin0CallbackViaPointer(&AlidNdPtAnalysis::IsBinZeroTrackSPDvtx);\r
+ } else {\r
+ physicsSelection->SetBin0CallbackViaPointer(&AlidNdPtAnalysis::IsBinZeroSPDvtx);\r
+ }\r
+ }\r
+ }\r
+\r
+\r
+ /*\r
if(evtCuts->IsTriggerRequired()) \r
{\r
//\r
}\r
}\r
}\r
+ */\r
\r
\r
// use MC information\r
TObject* obj = 0;\r
\r
//\r
- TList *collPhysSelection = new TList;\r
+ //TList *collPhysSelection = new TList;\r
\r
// collection of generated histograms\r
\r
\r
// physics selection\r
//printf("entry->GetPhysicsTriggerSelection() %p \n", entry->GetPhysicsTriggerSelection());\r
- collPhysSelection->Add(entry->GetPhysicsTriggerSelection());\r
+ //collPhysSelection->Add(entry->GetPhysicsTriggerSelection());\r
\r
//\r
fRecEventHist->Add(entry->fRecEventHist);\r
count++;\r
}\r
\r
- AliPhysicsSelection *trigSelection = GetPhysicsTriggerSelection();\r
- trigSelection->Merge(collPhysSelection);\r
- if(collPhysSelection) delete collPhysSelection;\r
+ //AliPhysicsSelection *trigSelection = GetPhysicsTriggerSelection();\r
+ //trigSelection->Merge(collPhysSelection);\r
+ //if(collPhysSelection) delete collPhysSelection;\r
\r
return count;\r
}\r
//\r
// LHC backgraund in all and 0-bins\r
//\r
- AliPhysicsSelection *trigSel = GetPhysicsTriggerSelection();\r
- trigSel->SaveHistograms("physics_selection");\r
+ //AliPhysicsSelection *trigSel = GetPhysicsTriggerSelection();\r
+ //trigSel->SaveHistograms("physics_selection");\r
\r
//\r
// Reconstructed event vertex\r
#include "AliHeader.h"
#include "AliGenEventHeader.h"
+#include "AliInputEventHandler.h"
+#include "AliAnalysisManager.h"
#include "AliStack.h"
#include "AliESDEvent.h"
#include "AliMCEvent.h"
return;
}
- // zdc cut not for MC
- if(!IsUseMCInfo()) {
- if (!fTriggerAnalysis->ZDCTimeTrigger(esdEvent)) {
- return;
- }
- }
-
- // track cuts from Jochen
- const AliESDVertex* vtxESDTPC = esdEvent->GetPrimaryVertexTPC();
- if( vtxESDTPC->GetNContributors() < 1 ) {
- return;
- }
-
- // francesco prino cut
- const AliMultiplicity* multESD = esdEvent->GetMultiplicity();
- if( vtxESDTPC->GetNContributors() < (-10.+0.25*multESD->GetNumberOfITSClusters(0)) ) {
- return;
- }
-
// get selection cuts
AlidNdPtEventCuts *evtCuts = GetEventCuts();
AlidNdPtAcceptanceCuts *accCuts = GetAcceptanceCuts();
}
if (0 == recCuts) { recCuts = accCuts;}
+ // trigger selection
+ Bool_t isEventTriggered = kTRUE;
+ AliPhysicsSelection *physicsSelection = NULL;
+ AliTriggerAnalysis* triggerAnalysis = NULL;
+
+ //
+ AliInputEventHandler* inputHandler = (AliInputEventHandler*) AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler();
+ if (!inputHandler)
+ {
+ Printf("ERROR: Could not receive input handler");
+ return;
+ }
+
+ if(evtCuts->IsTriggerRequired())
+ {
+ // always MB
+ isEventTriggered = inputHandler->IsEventSelected() & AliVEvent::kMB;
+
+ physicsSelection = static_cast<AliPhysicsSelection*> (inputHandler->GetEventSelection());
+ if(!physicsSelection) return;
+ //SetPhysicsTriggerSelection(physicsSelection);
+
+ if (isEventTriggered) {
+ // set trigger (V0AND)
+ triggerAnalysis = physicsSelection->GetTriggerAnalysis();
+ if(!triggerAnalysis) return;
+ isEventTriggered = triggerAnalysis->IsOfflineTriggerFired(esdEvent, GetTrigger());
+ }
+ }
+
+ /*
// trigger selection
Bool_t isEventTriggered = kTRUE;
AliPhysicsSelection *trigSel = NULL;
}//if(GetTrigger() == AliTriggerAnalysis::kV0AND)
}//if(IsUseMCInfo())
}//if(evtCuts->IsTriggerRequired())
-
+ */
// centrality determination
Float_t centralityF = 0;
TObject* obj = 0;
//
- TList *collPhysSelection = new TList;
+ //TList *collPhysSelection = new TList;
// collection of generated histograms
// physics selection
//printf("entry->GetPhysicsTriggerSelection() %p \n", entry->GetPhysicsTriggerSelection());
- AliPhysicsSelection *physSel = entry->GetPhysicsTriggerSelection();
- if( physSel ) collPhysSelection->Add(physSel);
+ //AliPhysicsSelection *physSel = entry->GetPhysicsTriggerSelection();
+ //if( physSel ) collPhysSelection->Add(physSel);
//
fTrackPtCorrelationMatrix->Add(entry->fTrackPtCorrelationMatrix);
count++;
}
- AliPhysicsSelection *trigSelection = GetPhysicsTriggerSelection();
- if( trigSelection ) trigSelection->Merge(collPhysSelection);
- if(collPhysSelection) delete collPhysSelection;
+ //AliPhysicsSelection *trigSelection = GetPhysicsTriggerSelection();
+ //if( trigSelection ) trigSelection->Merge(collPhysSelection);
+ //if(collPhysSelection) delete collPhysSelection;
return count;
}
//
// LHC backgraund in all and 0-bins
//
- AliPhysicsSelection *trigSel = GetPhysicsTriggerSelection();
- trigSel->SaveHistograms("physics_selection");
+ //AliPhysicsSelection *trigSel = GetPhysicsTriggerSelection();
+ //trigSel->SaveHistograms("physics_selection");
//
// Reconstructed event vertex
if(fUseCentrality) {\r
Printf("Use Centrality - Bin %d", fUseCentralityBin);\r
}\r
+\r
+ PostData(1, fOutput);\r
}\r
\r
//_____________________________________________________________________________\r
TString tag = "TPC-only tracking";
}
+ // TPC-only tight cuts
+ if (cutMode == 230)
+ {
+ // beta cuts (still under investigation)
+ minNClustersTPC = 70;
+ maxChi2PerClusterTPC = 4.0;
+ maxDCAtoVertexXY = 0.3; // cm
+ maxDCAtoVertexZ = 0.3; // cm
+
+ esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
+ esdTrackCuts->SetRequireTPCRefit(kFALSE);
+ esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
+ esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
+ esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
+ esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
+ esdTrackCuts->SetRequireITSRefit(kFALSE);
+ esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
+ esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
+ esdTrackCuts->SetDCAToVertex2D(kTRUE);
+ //esdTrackCuts->SetPtRange(minPt,maxPt);
+ //esdTrackCuts->SetEtaRange(minEta,maxEta);
+
+ TString tag = "TPC-only tracking";
+ }
// TPC-only (no pt cut, no eta cut)