AliPhysics  64bcec2 (64bcec2)
AliAnalysisTaskEmcalTriggerSelection.h
Go to the documentation of this file.
1 /************************************************************************************
2  * Copyright (C) 2017, Copyright Holders of the ALICE Collaboration *
3  * All rights reserved. *
4  * *
5  * Redistribution and use in source and binary forms, with or without *
6  * modification, are permitted provided that the following conditions are met: *
7  * * Redistributions of source code must retain the above copyright *
8  * notice, this list of conditions and the following disclaimer. *
9  * * Redistributions in binary form must reproduce the above copyright *
10  * notice, this list of conditions and the following disclaimer in the *
11  * documentation and/or other materials provided with the distribution. *
12  * * Neither the name of the <organization> nor the *
13  * names of its contributors may be used to endorse or promote products *
14  * derived from this software without specific prior written permission. *
15  * *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND *
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
19  * DISCLAIMED. IN NO EVENT SHALL ALICE COLLABORATION BE LIABLE FOR ANY *
20  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; *
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *
23  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
25  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
26  ************************************************************************************/
27 #ifndef ALIANALYSISTASKEMCALTRIGGERSELECTION_H
28 #define ALIANALYSISTASKEMCALTRIGGERSELECTION_H
29 
30 #include <vector>
31 #include <TList.h>
32 #include <TNamed.h>
33 #include <TString.h>
34 #include "AliAnalysisTaskEmcal.h"
35 
36 namespace PWG{
37 namespace EMCAL {
38 
39 class AliEmcalTriggerDecision;
40 class AliEmcalTriggerDecisionContainer;
41 class AliEmcalTriggerSelection;
42 
136 public:
143 
158  AliAnalysisTaskEmcalTriggerSelection(const char *name);
159 
164 
177  void AddTriggerSelection(AliEmcalTriggerSelection * const selection);
178 
199 
203  void AutoConfigure(const char *period);
204 
225  void ConfigurePP2012();
226 
247  void ConfigureMCPP2012();
248 
278  void ConfigurePP2016();
279 
306  void ConfigureMCPP2016();
307 
308 protected:
309 
317  public:
318 
323 
332 
340 
349 
354 
359  void Fill(const AliEmcalTriggerDecision * const decision);
360 
368  void GetHistos(TList *targetlist) const;
369 
370  private:
374  };
375 
384  virtual void UserCreateOutputObjects();
385 
393  virtual void UserExecOnce();
394 
408  virtual Bool_t Run();
409 
419  virtual Bool_t FillHistograms();
420 
427 
432  void MakeQA(const AliEmcalTriggerDecisionContainer *cont);
433 
438  void InitQA(const AliEmcalTriggerSelection *const sel);
439 
440  Bool_t Is2012PP(const char *dataset) const;
441  Bool_t Is2012MCPP(const char *dataset) const;
442  Bool_t Is2016PP(const char *dataset) const;
443  Bool_t Is2016MCPP(const char *dataset) const;
444  Bool_t IsSupportedMCSample(const char *period, std::vector<TString> &supportedProductions) const;
445 
450 
452  ClassDef(AliAnalysisTaskEmcalTriggerSelection, 1); // Task running different EMCAL trigger selections
454 };
455 
456 }
457 }
458 
459 #endif /* ALIANALYSISTASKEMCALTRIGGERSELECTION_H */
Object performing offline EMCAL trigger selection.
void ConfigurePP2016()
Trigger configuration for run2 pp (2016 - 2018) - data mode.
Container for trigger decision.
void MakeQA(const AliEmcalTriggerDecisionContainer *cont)
Fill QA histograms for the event.
virtual void UserExecOnce()
Initializations performed when the first event is created.
void SetGlobalDecisionContainerName(const char *name)
Set the name of the global trigger decision container.
void AutoConfigure(const char *period)
Automatically configure trigger decision handler for different periods.
TString fGlobalDecisionContainerName
Name of the global trigger selection.
Base task in the EMCAL framework.
virtual Bool_t FillHistograms()
Filling basic QA Histograms of the trigger selection task.
void ConfigurePP2012()
Trigger configuration for run1 pp (2012) - data mode.
virtual void UserCreateOutputObjects()
Initialization of output container.
void ConfigureMCPP2012()
Trigger configuration for MC anchored to run1 pp (2012)
void InitQA(const AliEmcalTriggerSelection *const sel)
Initialize QA histograms for trigger selection.
Bool_t IsSupportedMCSample(const char *period, std::vector< TString > &supportedProductions) const
Namespace for EMCAL framework classes and task.
AliEmcalTriggerDecisionContainer * GetGlobalTriggerDecisionContainer() const
Find the main trigger container in the input event.
AliEmcalTriggerSelectionQA & operator=(const AliEmcalTriggerSelectionQA &ref)
Assignment operator.
void GetHistos(TList *targetlist) const
Fill histograms of this QA component into the targetlist.
Namespace for PWG framework classes.
Task providing an event selection for EMCAL-triggered events based on the reconstructed EMCAL trigger...
void ConfigureMCPP2016()
Trigger configuration for MC anchored to run2 pp (2016-2018)
bool Bool_t
Definition: External.C:53
void AddTriggerSelection(AliEmcalTriggerSelection *const selection)
Add trigger selection to the trigger selection task.
Definition: External.C:196