-//Create by Christine Nattrass, Rebecca Scott, Irakli Martashvili\r
+//_________________________________________________________________________\r
+// Utility Class for transverse energy studies; charged hadrons\r
+// Task for analysis\r
+// - reconstruction and MC output\r
+//\r
+//Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili\r
//University of Tennessee at Knoxville\r
-#ifndef AliAnalysisTaskHadEt_cxx\r
-#define AliAnalysisTaskHadEt_cxx\r
+//_________________________________________________________________________\r
+#ifndef ALIANALYSISTASKHADET_H \r
+#define ALIANALYSISTASKHADET_H \r
\r
-class AliAnalysisHadEt;\r
-class TTree;\r
-class AliVParticle;\r
-class TH1F;\r
+class AliAnalysisHadEtReconstructed;\r
+class AliAnalysisHadEtMonteCarlo;\r
+class AliESDtrackCuts;\r
class TH2F;\r
-class TNtuple;\r
-class TObjArray;\r
-class AliESDEvent;\r
-class AliMCParticle;\r
-class TDatabasePDG;\r
+class TList;\r
\r
-#include "AliAnalysisTaskSE.h"\r
-#include "TObject.h"\r
-#include "AliAnalysisHadEtReconstructed.h"\r
-#include "AliAnalysisHadEtMonteCarlo.h"\r
+#include "AliAnalysisTaskTransverseEnergy.h"\r
+class AliPWG0Helper;\r
\r
-/* class ParticleVars : public TObject // Inherit from TObject to put in TClonesArray */\r
-/* { */\r
-/* public: */\r
- \r
-/* ParticleVars() : TObject(){} */\r
-/* Int_t fPdgCode; // from MC */\r
-/* Int_t fPid; //from ESDs */\r
-/* Int_t fMass; */\r
-/* Int_t fCharge; */\r
-/* Double_t fEt; */\r
-/* Double_t fPhi; */\r
-/* Double_t fEta; */\r
-\r
-/* ClassDef(ParticleVars, 1); */\r
- \r
-/* }; */\r
-\r
-class AliAnalysisTaskHadEt : public AliAnalysisTaskSE {\r
+class AliAnalysisTaskHadEt : public AliAnalysisTaskTransverseEnergy {\r
public:\r
- AliAnalysisTaskHadEt(const char *name = "AliAnalysisTaskHadEt");\r
- virtual ~AliAnalysisTaskHadEt() {}\r
+ AliAnalysisTaskHadEt(const char *name = "AliAnalysisTaskHadEt", Bool_t isMc = false, TString recoConfigFile = "ConfigHadEtReconstructed.C", TString mcConfigFile = "ConfigHadEtMonteCarlo.C");\r
+ virtual ~AliAnalysisTaskHadEt();\r
\r
// virtual void ConnectInputData(Option_t *);\r
virtual void UserCreateOutputObjects();\r
virtual void UserExec(Option_t *option);\r
virtual void Terminate(Option_t *);\r
-\r
- virtual void SetTriggerSelection(Bool_t v) {\r
- fTriggerSelection = v;\r
- }\r
-\r
- AliESDtrackCuts* GetTPCITSTrackCuts(){return (AliESDtrackCuts*) fOutputList->FindObject("fEsdTrackCuts");}\r
- AliESDtrackCuts* GetTPCOnlyTrackCuts(){return (AliESDtrackCuts*) fOutputList->FindObject("fEsdTrackCutsTPCOnly");}\r
- AliESDtrackCuts* GetITSTrackCuts(){return (AliESDtrackCuts*) fOutputList->FindObject("fEsdTrackCutsITS");}\r
+ void IsSim(){fIsSim = kTRUE;}\r
\r
private:\r
\r
AliAnalysisTaskHadEt & operator = (const AliAnalysisTaskHadEt & g) ;//cpy assignment\r
AliAnalysisTaskHadEt(const AliAnalysisTaskHadEt & g) ; // cpy ctor\r
\r
- bool CheckGoodVertex(AliVParticle *track);\r
- bool TrackHits(AliVParticle *track, Double_t magField);\r
-\r
-\r
- AliESDEvent *fESD; //ESD object\r
-\r
- TList *fOutputList;\r
-\r
- AliAnalysisHadEtReconstructed *fRecAnalysis;\r
- AliAnalysisHadEtMonteCarlo *fMCAnalysis;\r
-\r
- TH2F *fHistEtRecvsEtMC;\r
- \r
- Bool_t fTriggerSelection;\r
-\r
- Int_t fCount;\r
-\r
- const int fkPhotonPdg;\r
-\r
- const Float_t fkProtonMass;\r
-\r
- TDatabasePDG *fPdgDB;\r
-\r
- class EventVars\r
- {\r
- public:\r
- Double_t fTotEt;\r
- Double_t fTotEtAcc;\r
- Double_t fTotEnergy;\r
-\r
- Double_t fTotNeutralEt;\r
- Double_t fTotNeutralEtAcc;\r
-\r
- Double_t fTotChargedEt;\r
- Double_t fTotChargedEtAcc;\r
-\r
- Int_t fChargedMultiplicity;\r
- Int_t fNeutralMultiplicity;\r
+ AliAnalysisHadEtReconstructed *fRecAnalysis; // Rec\r
+ AliAnalysisHadEtMonteCarlo *fMCAnalysis; // MC\r
+ Bool_t fIsSim;//Boolean to keep track of whether or not this is running on simulations\r
\r
- };\r
- \r
- EventVars *fRecEventVars;\r
- EventVars *fSimEventVars;\r
- AliESDtrackCuts* ffesdtrackCutsITSTPC;\r
- AliESDtrackCuts* fesdtrackCutsTPC;\r
- AliESDtrackCuts* fesdtrackCutsITS;\r
- \r
- ClassDef(AliAnalysisTaskHadEt, 1); // example of analysis\r
+ ClassDef(AliAnalysisTaskHadEt, 2); // example of analysis\r
};\r
\r
#endif\r