]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding selection classes for EMCAL
authorodjuvsla <odjuvsla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 20 Jun 2012 14:53:16 +0000 (14:53 +0000)
committerodjuvsla <odjuvsla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 20 Jun 2012 14:53:16 +0000 (14:53 +0000)
Partially implemented selections for EMCAL

PWGLF/totEt/AliAnalysisEtSelectorEmcal.cxx [new file with mode: 0644]
PWGLF/totEt/AliAnalysisEtSelectorEmcal.h [new file with mode: 0644]

diff --git a/PWGLF/totEt/AliAnalysisEtSelectorEmcal.cxx b/PWGLF/totEt/AliAnalysisEtSelectorEmcal.cxx
new file mode 100644 (file)
index 0000000..05f7a4a
--- /dev/null
@@ -0,0 +1,96 @@
+//_________________________________________________________________________
+//  Utility Class for transverse energy studies
+//  Selection class for EMCAL
+//
+//*-- Authors: Oystein Djuvsland (Bergen)
+//_________________________________________________________________________
+
+
+#include "AliAnalysisEtSelectorEmcal.h"
+#include "AliAnalysisEtCuts.h"
+#include "TParticle.h"
+void AliAnalysisEtSelectorEmcal::SetEvent(const AliESDEvent* event)
+{
+    fEvent = event;
+    if(!fInitialized) Init(event);
+}
+
+AliAnalysisEtSelectorEmcal::AliAnalysisEtSelectorEmcal(AliAnalysisEtCuts* cuts)
+{
+
+}
+
+AliAnalysisEtSelectorEmcal::~AliAnalysisEtSelector()
+{
+
+}
+
+void AliAnalysisEtSelectorEmcal::Init()
+{
+    AliAnalysisEtSelector::Init();
+}
+
+Int_t AliAnalysisEtSelectorEmcal::Init(const AliESDEvent* event)
+{
+    
+    AliAnalysisEtSelector::Init(event);
+    Printf("Initializing selector for run: %d", event->GetRunNumber());
+    fInitialized = kTRUE;
+    return 0;
+}
+
+TRefArray* AliAnalysisEtSelectorEmcal::GetClusters()
+{
+    
+  if(!fClusterArray) fClusterArray = new TRefArray;
+  
+  if(fClusterArray)
+  {
+    fEvent->GetEMCALClusters(fClusterArray);
+  }
+  else
+  {
+    Printf("Could not initialize cluster array");
+  }
+  return fClusterArray;
+}
+
+Bool_t AliAnalysisEtSelectorEmcal::CutMinEnergy(const AliESDCaloCluster& cl) const
+{
+  return cl.E() > fCuts->GetReconstructedEmcalClusterEnergyCut();
+}
+
+Bool_t AliAnalysisEtSelectorEmcal::CutMinEnergy(const TParticle& p) const
+{
+    return p.Energy() > fCuts->GetReconstructedEmcalClusterEnergyCut();
+}
+
+Bool_t AliAnalysisEtSelectorEmcal::CutDistanceToBadChannel(const AliESDCaloCluster& ) const
+{
+    return AliAnalysisEtSelector::CutDistanceToBadChannel();
+}
+
+Bool_t AliAnalysisEtSelectorEmcal::CutTrackMatching(const AliESDCaloCluster& ) const
+{
+    return AliAnalysisEtSelector::CutTrackMatching();
+}
+
+Bool_t AliAnalysisEtSelectorEmcal::CutGeometricalAcceptance(const TParticle& part) const
+{
+  return TMath::Abs(part.Eta()) < fCuts->GetGeometryEmcalEtaAccCut() 
+         && part.Phi() < fCuts->GetGeometryEmcalPhiAccMaxCut()*TMath::Pi()/180.
+         && part.Phi() > fCuts->GetGeometryEmcalPhiAccMinCut()*TMath::Pi()/180.;
+}
+
+Bool_t AliAnalysisEtSelectorEmcal::CutGeometricalAcceptance(const AliVTrack& part) const
+{
+  return TMath::Abs(part.Eta()) < fCuts->GetGeometryEmcalEtaAccCut() 
+         && part.Phi() < fCuts->GetGeometryEmcalPhiAccMaxCut()*TMath::Pi()/180.
+         && part.Phi() > fCuts->GetGeometryEmcalPhiAccMinCut()*TMath::Pi()/180.;
+}
+
+
+
+
+
+
diff --git a/PWGLF/totEt/AliAnalysisEtSelectorEmcal.h b/PWGLF/totEt/AliAnalysisEtSelectorEmcal.h
new file mode 100644 (file)
index 0000000..be2feb6
--- /dev/null
@@ -0,0 +1,56 @@
+//_________________________________________________________________________
+//  Utility Class for transverse energy studies
+//  Selection class for EMCAL
+//
+//*-- Authors: Oystein Djuvsland (Bergen)
+//_________________________________________________________________________
+
+
+#ifndef ALIANALYSISETSELECTOREMCAL_H
+#define ALIANALYSISETSELECTOREMCAL_H
+
+#include <../../AliRoot-TRUNK-20120619-git/PWGLF/totEt/AliAnalysisEtSelector.h>
+
+
+class AliAnalysisEtSelectorEmcal : public AliAnalysisEtSelector
+{
+
+public:
+
+    AliAnalysisEtSelectorEmcal(AliAnalysisEtCuts* cuts);
+    
+    virtual ~AliAnalysisEtSelectorEmcal();
+    
+    virtual TRefArray* GetClusters();
+    virtual Bool_t CutMinEnergy(const AliESDCaloCluster& cluster) const;
+    virtual Bool_t CutMinEnergy(const TParticle& part) const;
+    virtual Bool_t CutDistanceToBadChannel(const AliESDCaloCluster& cluster) const;
+    virtual Bool_t CutTrackMatching(const AliESDCaloCluster& cluster) const;
+    virtual Bool_t CutGeometricalAcceptance(const TParticle& part) const;    
+    virtual Bool_t CutGeometricalAcceptance(const AliVTrack& part) const;    
+    virtual void Init() {}
+    virtual Int_t Init(const AliESDEvent *ev);
+    
+    virtual void SetEvent(const AliESDEvent* event);
+
+private:
+  
+    int LoadGeometry();
+    int LoadBadMaps();
+    
+    AliPHOSGeometry *fGeoUtils;
+    
+    TH2I *fBadMapM2; // Bad map
+    TH2I *fBadMapM3; // Bad map
+    TH2I *fBadMapM4; // Bad map
+
+    Bool_t fInitialized; // matrix initialized
+
+    AliAnalysisEtSelectorEmcal(); // Prohibited
+    AliAnalysisEtSelectorEmcal(const AliAnalysisEtSelectorEmcal& other); // Prohibited
+    AliAnalysisEtSelectorEmcal& operator=(const AliAnalysisEtSelectorEmcal& other); // Prohibited
+    bool operator==(const AliAnalysisEtSelectorEmcal& other) const; // Prohibited
+    
+};
+
+#endif // ALIANALYSISETSELECTOREMCAL_H