11 #include "AliAnalysisDataContainer.h"
12 #include "AliAnalysisDataSlot.h"
13 #include "AliAnalysisManager.h"
16 #include "AliESDEvent.h"
17 #include "AliInputEventHandler.h"
24 AliPhysicsSelectionTask(),
36 AliPhysicsSelectionTask(),
48 AliInputEventHandler* handler =
dynamic_cast<AliInputEventHandler*
> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
50 handler->SetEventSelection(fPhysicsSelection);
51 AliInfo(
"Physics Event Selection enabled.");
53 AliError(
"No input event handler connected to analysis manager. No Physics Event Selection.");
56 DefineOutput(1, TList::Class());
57 fBranchNames =
"ESD:AliESDRun.,AliESDHeader.,AliMultiplicity.,AliESDVZERO.,"
58 "AliESDZDC.,SPDVertex.,PrimaryVertex.,TPCVertex.,Tracks,SPDPileupVertices";
60 AliLog::SetClassDebugLevel(
"AliEmcalPhysicsSelectionTask", AliLog::kWarning);
68 AliPhysicsSelectionTask::UserCreateOutputObjects();
69 fHAcc =
new TH1D(
"hEvCount",
";0=rej/1=acc;#",2,-0.5,1.5);
80 fHEvtTypes->GetXaxis()->SetBinLabel(9,
"Good");
83 fHEvtTypes->GetXaxis()->SetBinLabel(12,
"LED");
86 fOutput->Remove(fPhysicsSelection);
95 AliPhysicsSelectionTask::UserExec(opt);
99 UInt_t res = ((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected();
109 if (res&AliVEvent::kAnyINT)
113 if (res&AliVEvent::kCentral)
115 if (res&AliVEvent::kSemiCentral)
117 if ((res&AliVEvent::kEMC1) || (res&AliVEvent::kEMC7))
119 if (res&AliVEvent::kEMCEJE)
121 if (res&AliVEvent::kEMCEGA)
145 fOutput =
dynamic_cast<TList*
> (GetOutputData(1));
147 AliError(
"fOutput not available");
151 AliAnalysisDataSlot *oslot = GetOutputSlot(1);
155 AliAnalysisDataContainer *ocont = oslot->GetContainer();
163 TDirectory::TContext context(file);
164 if (AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
165 fPhysicsSelection =
dynamic_cast<AliPhysicsSelection*
> (fOutput->FindObject(
"AliPhysicsSelection"));
167 if (fPhysicsSelection) {
169 fPhysicsSelection->SaveHistograms(Form(
"%sHists",ocont->GetName()));
170 AliInfo(Form(
"Writing result to %s",file->GetName()));
172 fOutput->Remove(fPhysicsSelection);
virtual void UserExec(const Option_t *opt)
Int_t fNAccepted
how often was the PS called
AliEmcalPhysicsSelectionTask()
Bool_t IsLedEvent() const
ClassImp(AliEmcalPhysicsSelectionTask) AliEmcalPhysicsSelectionTask
TH1 * fHAcc
how often was the event accepted
TFile * file
TList with histograms for a given trigger.
Bool_t IsFastOnly() const
virtual void UserCreateOutputObjects()
TH1 * fHEvtTypes
acceptance histo
virtual void Terminate(Option_t *)
TList * OpenFile(const char *fname)