#include "AliEventplane.h"\r
#include "AliTHn.h" \r
#include "AliLog.h"\r
+#include "AliAnalysisUtils.h"\r
\r
#include "AliEventPoolManager.h" \r
\r
fNumberOfAcceptedTracksMax(10000),\r
fHistNumberOfAcceptedTracks(0),\r
fUseOfflineTrigger(kFALSE),\r
+ fCheckFirstEventInChunk(kFALSE),\r
+ fCheckPileUp(kFALSE),\r
fVxMax(0.3),\r
fVyMax(0.3),\r
fVzMax(10.),\r
}\r
\r
//Event stats.\r
- TString gCutName[5] = {"Total","Offline trigger",\r
- "Vertex","Analyzed","sel. Centrality"};\r
+ TString gCutName[7] = {"Total","Offline trigger",\r
+ "Vertex","Analyzed","sel. Centrality","Not1stEvInChunk","No Pile-Up"};\r
fHistEventStats = new TH2F("fHistEventStats",\r
"Event statistics;;Centrality percentile;N_{events}",\r
- 5,0.5,5.5,220,-5,105);\r
- for(Int_t i = 1; i <= 5; i++)\r
+ 7,0.5,7.5,220,-5,105);\r
+ for(Int_t i = 1; i <= 7; i++)\r
fHistEventStats->GetXaxis()->SetBinLabel(i,gCutName[i-1].Data());\r
fList->Add(fHistEventStats);\r
\r
\r
fHistEventStats->Fill(1,gCentrality); //all events\r
\r
+ // check first event in chunk (is not needed for new reconstructions)\r
+ if(fCheckFirstEventInChunk){\r
+ AliAnalysisUtils ut;\r
+ if(ut.IsFirstEventInChunk(event)) \r
+ return -1.;\r
+ fHistEventStats->Fill(6,gCentrality); \r
+ }\r
+\r
+ // check for pile-up event\r
+ if(fCheckPileUp){\r
+ AliAnalysisUtils ut;\r
+ ut.SetUseMVPlpSelection(kTRUE);\r
+ ut.SetUseOutOfBunchPileUp(kTRUE);\r
+ if(ut.IsPileUpEvent(event))\r
+ return -1.;\r
+ fHistEventStats->Fill(7,gCentrality); \r
+ }\r
+\r
// Event trigger bits\r
fHistTriggerStats->Fill(((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected());\r
if(fUseOfflineTrigger)\r
fNumberOfAcceptedTracksMin = min;\r
fNumberOfAcceptedTracksMax = max;}\r
\r
+ // additional event cuts (default = kFALSE)\r
void UseOfflineTrigger() {fUseOfflineTrigger = kTRUE;}\r
+ void CheckFirstEventInChunk() {fCheckFirstEventInChunk = kTRUE;}\r
+ void CheckPileUp() {fCheckPileUp = kTRUE;}\r
\r
//Acceptance filter\r
void SetAcceptanceParameterization(TF1 *parameterization) {\r
TH2F *fHistNumberOfAcceptedTracks;//hisot to store the number of accepted tracks\r
\r
Bool_t fUseOfflineTrigger;//Usage of the offline trigger selection\r
+ Bool_t fCheckFirstEventInChunk;//Usage of the "First Event in Chunk" check (not needed for new productions)\r
+ Bool_t fCheckPileUp;//Usage of the "Pile-Up" event check\r
\r
Double_t fVxMax;//vxmax\r
Double_t fVyMax;//vymax\r