]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/hfe/AliAnalysisTaskHFECal.h
updated for some checks
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliAnalysisTaskHFECal.h
index ae09b2ead550e14d91dccb83831c514c38aa28c6..b98a2c5d53599ff19c734b1e5edc8aa5fdce3931 100644 (file)
@@ -19,6 +19,7 @@
 class THnSparse;
 class TH2F;
 class TLorentzVector;
+class TGraphErrors;
 
 class AliEMCALTrack;
 class AliMagF;
@@ -50,19 +51,31 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   
   void SetHFECuts(AliHFEcuts * const cuts) { fCuts = cuts; };
   void SetOpeningAngleCut (Double_t openingAngle) {fOpeningAngleCut = openingAngle;};
+  void SetMimpTassCut (Double_t MimpTassCut) {fMimpTassCut = MimpTassCut;};
+  void SetMimNsigassCut (Double_t MimNsigassCut) {fMimNsigassCut = MimNsigassCut;};
   void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;};
+  void SetMassConstraint       (Bool_t MassConstraint)         { fSetMassConstraint    = MassConstraint; };
+  void SetMassWidthCut         (Bool_t MassWidthCut)           { fSetMassWidthCut      = MassWidthCut; };
+  void SetMassNonlinear        (Bool_t MassNonlinear)          { fSetMassNonlinear     = MassNonlinear; };
+  void SetMassCalMethod        (Bool_t KFpart)         { fSetKFpart = KFpart; };
   void SetQAHist (int qahist) {fqahist = qahist;};
   AliHFEpid *GetPID() const { return fPID; }
   void SetRejectKinkMother(Bool_t rejectKinkMother = kFALSE) { fRejectKinkMother = rejectKinkMother; };
-  void SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, AliStack *stack, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent);
+  void SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta);
+  void SelectPhotonicElectron2(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta);
+  void FindMother(TParticle* part, int &label, int &pid);
   double GetMCweight(double mcPi0pT);
+  double GetMCweightEta(double mcEtapT);
   void FindTriggerClusters();
+  double MCEopMeanCorrection(double pTmc, float central);
+  double NsigmaCorrection(double tmpeta, float central);
  private:
   
   Bool_t ProcessCutStep(Int_t cutStep, AliVParticle *track);
   
   AliESDEvent          *fESD;                  //!ESD object
   AliMCEvent           *fMC;                   //!MC object
+  AliStack             *stack;                 //!MC object
   AliEMCALGeometry     *fGeom;                 // emcal geometry 
     
   TList                *fOutputList;           //! output list
@@ -79,7 +92,13 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   AliHFEpid            *fPID;                  //! PID
   AliHFEpidQAmanager   *fPIDqa;                //! PID QA manager
   Double_t             fOpeningAngleCut;       //openingAngle cut value
+  Double_t             fMimpTassCut;   //openingAngle cut value
+  Double_t             fMimNsigassCut; //openingAngle cut value
   Double_t             fInvmassCut;            //invariant mass cut value
+  Bool_t                fSetMassConstraint;            // Set mass constraint
+  Bool_t                fSetMassWidthCut;              // Set mass constraint
+  Bool_t                fSetMassNonlinear;             // Set mass constraint
+  Bool_t                fSetKFpart;            // Set mass constraint
  
   int ftriggers[48][60];//!
   int ftriggersCut[48][60];//!
@@ -88,6 +107,7 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
 
   TH1F                 *fNoEvents;             //! no of events
   THnSparseD           *fEMCAccE;              //! EMC acc
+  TH2F                 *hEMCAccE;              //! EMC acc
   TH1F                 *fTrkpt;                //! track pt
   TH2F                 *fTrkEovPBef;           //! track E/p before HFE pid
   TH2F                 *fTrkEovPAft;           //! track E/p after HFE pid
@@ -99,6 +119,16 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   THnSparseD           *fInvmassULS;           //! Inv mass of ULS (e,e)
   THnSparseD           *fInvmassLSmc;          //! Inv mass of LS (e,e)
   THnSparseD           *fInvmassULSmc;         //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassLSreco;                //! Inv mass of LS (e,e)
+  TH2D         *fInvmassULSreco;               //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassLSmc0;         //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassLSmc1;         //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassLSmc2;         //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassLSmc3;         //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassULSmc0;                //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassULSmc1;                //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassULSmc2;                //! Inv mass of ULS (e,e)
+  TH2D         *fInvmassULSmc3;                //! Inv mass of ULS (e,e)
   TH1F                 *fOpeningAngleLS;       //! opening angle for LS pairs
   TH1F                 *fOpeningAngleULS;      //! opening angle for ULS pairs
   TH1F                 *fPhotoElecPt;          //! photonic elec pt 
@@ -106,6 +136,7 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   TH2F                 *fPhoElecPtM20;         //! Pho inclusive ele pt
   TH2F                 *fSameElecPt;           //! Same inclusive ele pt
   TH2F                 *fSameElecPtM20;                //! Same inclusive ele pt
+  TH2F                 *fSemiElecPtM20;                //! Same inclusive ele pt
 
   TH1F                 *fTrackPtBefTrkCuts;    //! Track pt before track cuts  
   TH1F                 *fTrackPtAftTrkCuts;    //! Track pt after track cuts
@@ -113,6 +144,7 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   
   TH1F                 *fCent;                 //! centrality
   THnSparseD           *fEleInfo;              //! EMC acc
+  THnSparseD           *fElenSigma;            //! EMC acc
   /*
   //<---- trigger info
   TH1F       *fClsEBftTrigCut; //Cluster E before trigger selection
@@ -133,6 +165,9 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   TH2F                 *fIncpTMChfeAll;                //! MC HFE pid electron vs centrality
   TH2F                 *fIncpTMCM20hfe;        //! MC HFE pid electron vs centrality
   TH2F                 *fIncpTMCM20hfeAll;     //! MC HFE pid electron vs centrality
+  TH2F                 *fIncpTMCM20hfeCheck;   //! MC HFE pid electron vs centrality
+ THnSparseD            *fInputHFEMC_weight;            //! MC HFE pid electron vs centrality
+ THnSparseD            *fIncpTMCM20hfeCheck_weight;            //! MC HFE pid electron vs centrality
  THnSparseD            *fIncpTMCpho;           //! MC HFE pid electron vs centrality
  THnSparseD            *fIncpTMCM20pho;        //! MC HFE pid electron vs centrality
  THnSparseD            *fPhoElecPtMC;          //! Pho inclusive ele pt
@@ -142,12 +177,55 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
  THnSparseD            *fIncpTMCM20pho_pi0e;   //! MC HFE pid electron vs centrality
  THnSparseD            *fPhoElecPtMCM20_pi0e;          //! Pho inclusive ele pt
  THnSparseD            *fSameElecPtMCM20_pi0e;         //! Same inclusive ele pt
+ THnSparseD            *fIncpTMCM20pho_eta;    //! MC HFE pid electron vs centrality
+ THnSparseD            *fPhoElecPtMCM20_eta;           //! Pho inclusive ele pt
+ THnSparseD            *fSameElecPtMCM20_eta;          //! Same inclusive ele pt
+ THnSparseD            *fIncpTMCpho_pi0e_TPC;  //! MC HFE pid electron vs centrality
+ THnSparseD            *fPhoElecPtMC_pi0e_TPC;         //! Pho inclusive ele pt
+ THnSparseD            *fSameElecPtMC_pi0e_TPC;                //! Same inclusive ele pt
+ THnSparseD            *fIncpTMCpho_eta_TPC;   //! MC HFE pid electron vs centrality
+ THnSparseD            *fPhoElecPtMC_eta_TPC;          //! Pho inclusive ele pt
+ THnSparseD            *fSameElecPtMC_eta_TPC;         //! Same inclusive ele pt
  TH1D                   *CheckNclust;  
  TH1D                   *CheckNits;  
- TH2D                   *Hpi0pTcheck; 
+ TH2D                   *CheckDCA;  
+ THnSparseD             *Hpi0pTcheck; 
+ THnSparseD             *HETApTcheck; 
  TH2D                   *HphopTcheck; 
+ TH2D                   *HDpTcheck; 
+ TH2D                   *HBpTcheck; 
+ TH1D                   *fpTCheck; 
  TH2D                   *fMomDtoE; 
+ TH2D                   *fLabelCheck;
+ TH2D                   *fgeoFake;
+ TH2D                   *fFakeTrk0;
+ TH2D                   *fFakeTrk1;
+ TH2D                   *ftimingEle;
+ TH2D                   *fIncMaxE;
+ TH2D                   *fIncReco;
+ TH2D                   *fPhoReco;
+ TH2D                   *fSamReco; 
+ TH2D                   *fIncRecoMaxE;
+ TH2D                   *fPhoRecoMaxE;
+ TH2D                   *fSamRecoMaxE; 
+ TH2D                   *fPhoVertexReco_HFE;
+ TH2D                   *fPhoVertexReco_EMCal;
+ TH2D                   *fPhoVertexReco_Invmass;
+ TH2D                   *fPhoVertexReco_step0;
+ TH2D                   *fPhoVertexReco_step1;
+ TH2D                   *fPhoVertexReco_step2;
+ TH2D                   *fPhoVertexReco_step3;
+ TH2D                   *fPhoVertexReco_step4;
+ TH2D                   *fPhoVertexReco_step5;
+ TH1D                   *fMatchV0_0;
+ TH1D                   *fMatchV0_1;
+ TH1D                   *fMatchMC_0;
+ TH1D                   *fMatchMC_1;
+
+ //<----- correction
+ TGraphErrors           *fnSigEtaCorr[7];
+
+
   AliAnalysisTaskHFECal(const AliAnalysisTaskHFECal&); // not implemented
   AliAnalysisTaskHFECal& operator=(const AliAnalysisTaskHFECal&); // not implemented