AliPhysics  56f1704 (56f1704)
AliEmcalTrackSelectionAOD.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 ALIEMCALTRACKSELECTIONAOD_H_
28 #define ALIEMCALTRACKSELECTIONAOD_H_
29 
30 #include <AliEmcalTrackSelection.h>
32 
33 class AliVCuts;
34 class AliVTrack;
35 
36 class AliEmcalTrackSelResultHybrid;
37 
51 public:
52 
60 
68  AliEmcalTrackSelectionAOD(ETrackFilterType_t type, const char* period = "");
69 
80  AliEmcalTrackSelectionAOD(AliVCuts *cuts, UInt_t filterbits);
81 
86 
91  virtual void GenerateTrackCuts(ETrackFilterType_t type, const char* /*period*/ = "");
92 
106  virtual PWG::EMCAL::AliEmcalTrackSelResultPtr IsTrackAccepted(AliVTrack * const trk);
107 
116  void AddFilterBit(UInt_t filterbits);
117 
124  static Bool_t GetHybridFilterBits(Char_t bits[], TString period);
125 
126 private:
127 
129  ClassDef(AliEmcalTrackSelectionAOD, 2);
131 };
132 
133 namespace PWG {
134 
135 namespace EMCAL{
136 
145 public:
146 
151 
156 
162  void Init();
163 
170  bool RunAllTests() const;
171  bool TestHybridDef2010wRefit() const;
172  bool TestHybridDef2010woRefit() const;
173  bool TestHybridDef2011() const;
174  bool TestTPConly() const;
175 
176 private:
187  const AliEmcalTrackSelResultHybrid *FindHybridSelectionResult(const AliEmcalTrackSelResultPtr &data) const;
188 
193 
196 
198  ClassDef(TestAliEmcalTrackSelectionAOD, 1);
200 };
201 
202 }
203 
204 }
205 
206 #endif /* ALIEMCALTRACKSELECTIONAOD_H_ */
Interface for virtual track selection.
AliEmcalTrackSelection & operator=(const AliEmcalTrackSelection &ref)
Assingment operator.
AliEmcalTrackSelectionAOD * fTrackSelHybrid2010wRefit
Hybrid tracks from 2010 including non-refit tracks.
char Char_t
Definition: External.C:18
Structure containing the result of a given track selection step.
void AddFilterBit(UInt_t filterbits)
Add a new filter bit to the track selection.
Namespace for EMCAL framework classes and task.
virtual PWG::EMCAL::AliEmcalTrackSelResultPtr IsTrackAccepted(AliVTrack *const trk)
Performing track selection.
unsigned int UInt_t
Definition: External.C:33
Namespace for PWG framework classes.
Implement virtual track selection for AOD analysis.
AliEmcalTrackSelectionAOD * fTrackSelHybrid2010woRefit
Hybrid tracks from 2010 excluding non-refit tracks.
virtual ~AliEmcalTrackSelectionAOD()
Destructor.
ETrackFilterType_t
Pre-defined track filters.
virtual void GenerateTrackCuts(ETrackFilterType_t type, const char *="")
Automatically generates track cuts depending on the requested type of filtering.
static Bool_t GetHybridFilterBits(Char_t bits[], TString period)
Returns the hybrid filter bits according to a hard-coded look-up table.
AliEmcalTrackSelectionAOD * fTrackSelTPConly
TPConly tracks.
AliEmcalTrackSelectionAOD()
Main constructor.
bool Bool_t
Definition: External.C:53
AliEmcalTrackSelectionAOD * fTrackSelHybrid2011
Hybrid tracks from 2011.
Unit test for the class AliEmcalTrackSelectionAOD.