AliPhysics  5364b50 (5364b50)
AliAnalysisTaskEmcalTriggerJetsIDcorr.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALTRIGGERJETSIDCORR_H
2 #define ALIANALYSISTASKEMCALTRIGGERJETSIDCORR_H
3 // Copyright (C) 2017, Copyright Holders of the ALICE Collaboration
4 // All rights reserved.
5 
7 #include "AliPID.h"
8 #include <exception>
9 #include <vector>
10 
11 class AliJetContainer;
12 class AliPIDResponse;
13 class THistManager;
14 class TString;
15 class TVector3;
16 
17 namespace EmcalTriggerJets {
18 
23 };
24 
26 public:
27 
28  class TOFMassException : public std::exception {
29  public:
30  TOFMassException() : std::exception() {}
31  virtual ~TOFMassException() throw() {}
32  virtual const char *what() const throw() { return "TOF mass cannot be calculated for particle"; }
33  };
34 
35  class TPCdEdxException : public std::exception {
36  public:
37  TPCdEdxException(AliPID::EParticleType type): std::exception(), fParticle(type), fMessage(TString::Format("TPC dE/dx information not available for particle type %s", AliPID::ParticleName(type))) {}
38  virtual ~TPCdEdxException() throw() {}
39  virtual const char *what() const throw() { return fMessage.Data(); }
40  AliPID::EParticleType GetParticleType() const throw() { return fParticle; }
41 
42  private:
43  AliPID::EParticleType fParticle;
45  };
46 
48  AliAnalysisTaskEmcalTriggerJetsIDcorr(const char *name);
50 
51  static AliAnalysisTaskEmcalTriggerJetsIDcorr *AddTaskEmcalTriggerJetsIDcorr(const char *name);
52 
53 protected:
54 
55  virtual void UserCreateOutputObjects();
56  virtual void UserExecOnce();
57  virtual bool Run();
58 
59  double GetTOFMass(const AliVTrack *const track) const;
60  std::vector<AliVTrack *> GetTPCPIDCandidates(AliPID::EParticleType type) const;
61  std::vector<CorrParticleInfo> CorrelateCandidatesToJet(const TVector3 &jet, std::vector<AliVTrack *> candidates) const;
62 
63 private:
66 
68  AliPIDResponse *fPIDResponse;
70 
74 };
75 
76 } /* namespace EmcalTriggerJets */
77 
78 #endif /* ALIANALYSISTASKEMCALTRIGGERJETSIDCORR_H */
double Double_t
Definition: External.C:58
Base task in the EMCAL jet framework.
Container class for histograms.
Definition: THistManager.h:99
Container for jet within the EMCAL jet framework.