AliPhysics  a17849b (a17849b)
TestAliEmcalTrackSelection.h
Go to the documentation of this file.
1 // clang-format off
2 /************************************************************************************
3  * Copyright (C) 2017, Copyright Holders of the ALICE Collaboration *
4  * All rights reserved. *
5  * *
6  * Redistribution and use in source and binary forms, with or without *
7  * modification, are permitted provided that the following conditions are met: *
8  * * Redistributions of source code must retain the above copyright *
9  * notice, this list of conditions and the following disclaimer. *
10  * * Redistributions in binary form must reproduce the above copyright *
11  * notice, this list of conditions and the following disclaimer in the *
12  * documentation and/or other materials provided with the distribution. *
13  * * Neither the name of the <organization> nor the *
14  * names of its contributors may be used to endorse or promote products *
15  * derived from this software without specific prior written permission. *
16  * *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND *
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
20  * DISCLAIMED. IN NO EVENT SHALL ALICE COLLABORATION BE LIABLE FOR ANY *
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; *
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *
24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
26  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
27  ************************************************************************************/
28 // clang-format on
29 #ifndef TESTALIEMCALTRACKSELECTION_H
30 #define TESTALIEMCALTRACKSELECTION_H
31 
33 #include <TString.h>
34 
35 class AliAODEvent;
36 class AliAODTrack;
38 class THistManager;
39 class TObjArray;
40 
41 namespace PWG {
42 
43 namespace EMCAL {
44 
46  public:
48  TestImplAliEmcalTrackSelection(const char* name);
50 
51  bool RunTest(const AliAODEvent* const ev);
52 
53  protected:
54  virtual bool IsTrueTrack(const AliAODTrack* const trk) const = 0;
55 
57 
58  private:
61 
63  ClassDef(TestImplAliEmcalTrackSelection, 1);
65 };
66 
68  public:
70  TestImplAliEmcalTrackSelectionITSpure(const char* name, const char* period);
72 
73  protected:
74  virtual bool IsTrueTrack(const AliAODTrack* const trk) const;
75 
76  private:
77  AliESDtrackCuts* fRefCuts;
78 
81 
85 };
86 
88  public:
90  TestImplAliEmcalTrackSelectionHybrid(const char* name, const char* period);
92 
93  protected:
94  virtual bool IsTrueTrack(const AliAODTrack* trk) const;
95 
96  private:
99 
103 };
104 
106  public:
108  TestImplAliEmcalTrackSelectionTPConly(const char* name, const char* period);
110 
111  protected:
112  virtual bool IsTrueTrack(const AliAODTrack* const trk) const;
113 
114  private:
117 
121 };
122 
124  public:
126  TestAliEmcalTrackSelection(const char* name);
127  virtual ~TestAliEmcalTrackSelection();
128 
129  void SetPeriod(const char* period) { fPeriod = period; }
130  void AddTestImpl(TestImplAliEmcalTrackSelection* test);
131  void GenerateTestSuite();
132  static TestAliEmcalTrackSelection* AddTestAliEmcalTrackSelection(const char* name);
133 
134  protected:
135  bool EvaluateTest(TestImplAliEmcalTrackSelection* test);
136  virtual void UserCreateOutputObjects();
137  virtual bool Run();
138 
139  private:
143 
146 
148  ClassDef(TestAliEmcalTrackSelection, 1);
150 };
151 }
152 }
153 #endif
Interface for virtual track selection.
Namespace for EMCAL framework classes and task.
AliEmcalTrackSelection * fTrackSelection
Object to be tested.
Base task in the EMCAL framework (lighter version of AliAnalysisTaskEmcal)
Namespace for PWG framework classes.
TestImplAliEmcalTrackSelection * operator=(const TestImplAliEmcalTrackSelection &)
Container class for histograms.
Definition: THistManager.h:99
void test(int runnumber=195345)
virtual bool IsTrueTrack(const AliAODTrack *const trk) const =0