]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Updates Taku
authorcbaumann <cbaumann@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Jul 2012 13:23:20 +0000 (13:23 +0000)
committercbaumann <cbaumann@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Jul 2012 13:23:20 +0000 (13:23 +0000)
PWGDQ/dielectron/AliAnalysisTaskMultiDielectronTG.cxx
PWGDQ/dielectron/AliAnalysisTaskMultiDielectronTG.h
PWGDQ/dielectron/macrosLMEE/AddTask_taku_LMEEPbPb2011Cent.C
PWGDQ/dielectron/macrosLMEE/AddTask_taku_LMEEPbPb2011SemiCent1.C
PWGDQ/dielectron/macrosLMEE/AddTask_taku_LMEEPbPb2011SemiCent2.C
PWGDQ/dielectron/macrosLMEE/ConfigTakuLMEEPbPb2011.C
PWGDQ/dielectron/macrosLMEE/LMEECutLibTaku.C

index d5c56613f0efe25e95db856601ea82b6888ab591..e38f1d852ed7ffc5321b0b44951dc824d9977e25 100644 (file)
@@ -98,9 +98,12 @@ AliAnalysisTaskMultiDielectronTG::AliAnalysisTaskMultiDielectronTG() :
   fVemtmp(0x0),
   fVeptmp(0x0),
   fdconvphiv(acos(-1.0)),
+  fdconvMee(100),
   fdop(0),
   fbz(0),
-  fdv0mixing(kTRUE)
+  fdv0mixing(kTRUE),
+  fBGRejUnlike(kFALSE),
+  fBGRejLike(kTRUE)
 {
   //
   // Constructor
@@ -139,9 +142,12 @@ AliAnalysisTaskMultiDielectronTG::AliAnalysisTaskMultiDielectronTG(const char *n
   fVemtmp(0x0),
   fVeptmp(0x0),
   fdconvphiv(acos(-1.0)),
+  fdconvMee(100),
   fdop(0),
   fbz(0),
-  fdv0mixing(kTRUE)
+  fdv0mixing(kTRUE),
+  fBGRejUnlike(kFALSE),
+  fBGRejLike(kTRUE)
 {
   //
   // Constructor
@@ -637,7 +643,9 @@ void AliAnalysisTaskMultiDielectronTG::CheckGhostPairs(vector<AliDielectronSingl
     for(int i1=0; i1<(int)e1.size(); i1++){
       reject = false;
       for(int i2=i1+1; i2<(int)e1.size(); i2++){
-        if( fabs(e1[i1]->Phi() - e1[i2]->Phi())<0.01 ){
+        if( fabs(e1[i1]->Phi() - e1[i2]->Phi())<0.01 && 
+           fabs(e1[i1]->Eta() - e1[i2]->Eta())<0.005
+           ){
           reject = true;
           e1[i2]->SetGstFlag(0);
         }
@@ -647,6 +655,25 @@ void AliAnalysisTaskMultiDielectronTG::CheckGhostPairs(vector<AliDielectronSingl
   }
 }
 
+//_________________________________________________________________________________
+Bool_t AliAnalysisTaskMultiDielectronTG::CheckGhost(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2)
+{
+  ////// To be sure whether there are no ghost pairs in h event mixing 
+
+  if(e1.size()>0 && e2.size()>0){
+    for(int i1=0; i1<(int)e1.size(); i1++){
+      for(int i2=0; i2<(int)e2.size(); i2++){
+        if( fabs(e1[i1]->Phi() - e2[i2]->Phi())<0.01 && 
+           fabs(e1[i1]->Eta() - e2[i2]->Eta())<0.005
+           ){
+         return true;
+        }
+      }
+    }
+  }
+  return false;
+}
+
 //_________________________________________________________________________________
 void AliAnalysisTaskMultiDielectronTG::RandomizePool(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2)
 {
@@ -753,7 +780,7 @@ void AliAnalysisTaskMultiDielectronTG::CalcPair(vector<AliDielectronSingleTG*> v
     nmixed = 0;
     for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
       int ntry = 0;
-      while(ntry<fgkMAXTRY) {
+      while((fBGRejUnlike && CheckGhost(ve1, fvem[ibuf][idie][izbin][icent][irp])) &&  ntry<fgkMAXTRY) {
         ReshuffleBuffer(fvem[ibuf][idie][izbin][icent][irp],fpoolm[idie][izbin][icent][irp]);
         ntry++;
       }
@@ -772,7 +799,7 @@ void AliAnalysisTaskMultiDielectronTG::CalcPair(vector<AliDielectronSingleTG*> v
     nmixed = 0;
     for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
       int ntry = 0;
-      while(ntry<fgkMAXTRY) {
+      while((fBGRejUnlike && CheckGhost(ve2, fvep[ibuf][idie][izbin][icent][irp])) &&  ntry<fgkMAXTRY) {
         ReshuffleBuffer(fvep[ibuf][idie][izbin][icent][irp],fpoolp[idie][izbin][icent][irp]);
         ntry++;
       }
@@ -792,7 +819,7 @@ void AliAnalysisTaskMultiDielectronTG::CalcPair(vector<AliDielectronSingleTG*> v
     nmixed = 0;
     for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
       int ntry = 0;
-      while(ntry<fgkMAXTRY) {
+      while((fBGRejLike && CheckGhost(ve1, fvep[ibuf][idie][izbin][icent][irp])) &&  ntry<fgkMAXTRY) {
         ReshuffleBuffer(fvep[ibuf][idie][izbin][icent][irp],fpoolp[idie][izbin][icent][irp]);
         ntry++;
       }
@@ -812,7 +839,7 @@ void AliAnalysisTaskMultiDielectronTG::CalcPair(vector<AliDielectronSingleTG*> v
     nmixed = 0;
     for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
       int ntry = 0;
-      while(ntry<fgkMAXTRY) {
+      while((fBGRejLike && CheckGhost(ve2, fvem[ibuf][idie][izbin][icent][irp])) &&  ntry<fgkMAXTRY) {
         ReshuffleBuffer(fvem[ibuf][idie][izbin][icent][irp],fpoolm[idie][izbin][icent][irp]);
         ntry++;
       }
@@ -943,7 +970,7 @@ void AliAnalysisTaskMultiDielectronTG::FillPair(AliDielectronSingleTG *iep,
   Bool_t pairClass1=fHistos->GetHistogramList()->FindObject(className1.Data())!=0x0;
   Bool_t pairClass2=fHistos->GetHistogramList()->FindObject(className2.Data())!=0x0;
 
-  if (pairClass1 && PairTrackcut(dphiv, dcos, idie)==true){
+  if (pairClass1 && PairTrackcut(dphiv, dcos, dmass, idie)==true){
     ///import pair variables to values!!
     values[AliDielectronVarManager::kPx] = dpxpair;
     values[AliDielectronVarManager::kPy] = dpypair;
@@ -960,11 +987,12 @@ void AliAnalysisTaskMultiDielectronTG::FillPair(AliDielectronSingleTG *iep,
     values[AliDielectronVarManager::kPhivPair] = dphiv;
     values[AliDielectronVarManager::kPhi]  = dphipair;
     values[AliDielectronVarManager::kOpeningAngle]  = dcos;
+    values[AliDielectronVarManager::kCosPointingAngle]  = TMath::Abs(TMath::ATan2(TMath::Sin(iep->Phi()-iem->Phi()),TMath::Cos(iep->Phi()-iem->Phi())));
     fHistos->FillClass(className1, AliDielectronVarManager::kNMaxValues, values);
   }
 
 
-  if (pairClass2 && PairTrackcut(dphiv, dopeningangle, idie)==true){
+  if (pairClass2 && PairTrackcut(dphiv, dopeningangle, dv0mass, idie)==true){
     values[AliDielectronVarManager::kPx] = dv0pxpair;
     values[AliDielectronVarManager::kPy] = dv0pypair;
     values[AliDielectronVarManager::kPz] = dv0pzpair;
@@ -980,6 +1008,7 @@ void AliAnalysisTaskMultiDielectronTG::FillPair(AliDielectronSingleTG *iep,
     values[AliDielectronVarManager::kPhivPair] = dphivpair;
     values[AliDielectronVarManager::kPhi]  = dv0phipair;
     values[AliDielectronVarManager::kOpeningAngle]  = dopeningangle;
+    values[AliDielectronVarManager::kCosPointingAngle]  = TMath::Abs(TMath::ATan2(TMath::Sin(iep->Phi()-iem->Phi()),TMath::Cos(iep->Phi()-iem->Phi())));
     fHistos->FillClass(className2, AliDielectronVarManager::kNMaxValues, values);
   }
 
@@ -988,7 +1017,7 @@ void AliAnalysisTaskMultiDielectronTG::FillPair(AliDielectronSingleTG *iep,
 }
 
 //_________________________________________________________________________________
-bool AliAnalysisTaskMultiDielectronTG::PairTrackcut(double phiv, double op, int idie)
+bool AliAnalysisTaskMultiDielectronTG::PairTrackcut(double phiv, double op, double mass, int idie)
 {
 
   //
@@ -1001,9 +1030,9 @@ bool AliAnalysisTaskMultiDielectronTG::PairTrackcut(double phiv, double op, int
   if(fRejectPairFlag[idie] == 1 || fRejectPairFlag[idie] == 2 ||
      fRejectPairFlag[idie] == 3 || fRejectPairFlag[idie] == 4 ){
     if(fRejectPairFlag[idie] == 2 || fRejectPairFlag[idie] == 4 ){
-      if(fbz>0 && phiv>fdconvphiv){
+      if(fbz>0 && (phiv>fdconvphiv && mass < fdconvMee) ){
        pairOK = false;
-      }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+      }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv  && mass < fdconvMee){
        pairOK = false;
       }
     }else if(fRejectPairFlag[idie] == 1 || fRejectPairFlag[idie] == 3){
@@ -1153,10 +1182,11 @@ void AliAnalysisTaskMultiDielectronTG::RejectPairs(vector<AliDielectronSingleTG*
          }
        }else if(fRejectPairFlag[idie]==2){
          Double_t phiv = GetPhiv(e1[i1], e2[i2]);
-         if(fbz>0 && phiv>fdconvphiv){
+         Double_t mee = GetMass(e1[i1], e2[i2]);
+         if(fbz>0 && ( phiv>fdconvphiv && mee < fdconvMee) ){
            e1[i1]->SetConvFlag(0);
            e2[i2]->SetConvFlag(0);
-         }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+         }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv && mee < fdconvMee){
            e1[i1]->SetConvFlag(0);
            e2[i2]->SetConvFlag(0);
          }
@@ -1164,7 +1194,6 @@ void AliAnalysisTaskMultiDielectronTG::RejectPairs(vector<AliDielectronSingleTG*
       }
     }
   }
-
   if(e1.size()>0){
     for(int i1=0; i1<(int)e1.size(); i1++){
       for(int i2=i1+1; i2<(int)e1.size(); i2++){
@@ -1176,10 +1205,11 @@ void AliAnalysisTaskMultiDielectronTG::RejectPairs(vector<AliDielectronSingleTG*
          }
        }else if(fRejectPairFlag[idie]==2){
          Double_t phiv = GetPhiv(e1[i1], e1[i2]);
-         if(fbz>0 && phiv>fdconvphiv){
+         Double_t mee = GetMass(e1[i1], e1[i2]);
+         if(fbz>0 && phiv>fdconvphiv && mee < fdconvMee){
            e1[i1]->SetConvFlag(0);
            e1[i2]->SetConvFlag(0);
-         }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+         }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv && mee < fdconvMee){
            e1[i1]->SetConvFlag(0);
            e1[i2]->SetConvFlag(0);
          }
@@ -1199,10 +1229,11 @@ void AliAnalysisTaskMultiDielectronTG::RejectPairs(vector<AliDielectronSingleTG*
          }
        }else if(fRejectPairFlag[idie]==2){
          Double_t phiv = GetPhiv(e2[i1], e2[i2]);
-         if(fbz>0 && phiv>fdconvphiv){
+         Double_t mee = GetMass(e2[i1], e2[i2]);
+         if(fbz>0 && phiv>fdconvphiv && mee < fdconvMee){
            e2[i1]->SetConvFlag(0);
            e2[i2]->SetConvFlag(0);
-         }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+         }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv && mee < fdconvMee){
            e2[i1]->SetConvFlag(0);
            e2[i2]->SetConvFlag(0);
          }
@@ -1233,7 +1264,7 @@ Double_t AliAnalysisTaskMultiDielectronTG::GetOpeningAngle(AliDielectronSingleTG
 Double_t AliAnalysisTaskMultiDielectronTG::GetPhiv(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2){
 
   //////////////////////
-  //////// calculate pairs and get opening angle 
+  //////// calculate pairs and get phiv
   //////////////////////
 
   double dmass, dphiv, dpxpair, dpypair, dpzpair;
@@ -1244,3 +1275,19 @@ Double_t AliAnalysisTaskMultiDielectronTG::GetPhiv(AliDielectronSingleTG* e1, Al
 
   return dphiv;
 }
+
+//_________________________________________________________________________________
+Double_t AliAnalysisTaskMultiDielectronTG::GetMass(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2){
+
+  //////////////////////
+  //////// calculate pairs and get mass
+  //////////////////////
+
+  double dmass, dphiv, dpxpair, dpypair, dpzpair;
+  double dptpair, depair, dphipair, detapair, dcos, dpsi;
+  
+  CalcVars(e1, e2, dmass, dphiv, dpxpair, dpypair, dpzpair, 
+            dptpair, depair, dphipair, detapair, dcos, dpsi);
+
+  return dmass;
+}
index 4ee55cfc3817164da47c4df2f18e1b83d83dfe84..5f564db8393d7abee6206a66ef8c2f9c7278a609 100644 (file)
@@ -90,6 +90,7 @@ class AliDielectronSingleTG : public TObject
       void SetTrack(AliVTrack * const trk) { fObj = trk;}
       virtual Int_t Charge(void) const { return fCharge;}
       Double_t  Phi(void) const { return fPhi;}
+      Double_t  Eta(void) const { return fEta;}
       Double_t  Theta(void) const { return fTheta;}
       Double_t  Px(void) const { return fPx;}
       Double_t  Py(void) const { return fPy;}
@@ -157,12 +158,13 @@ public:
 
 
   void RejectOP(double val){fdop = val;} ///To reject conversions
-  void RejectConversion(double val){fdconvphiv = val;} ///To reject conversions
+  void RejectConversion(double val, double mass){fdconvphiv = val; fdconvMee = mass;} ///To reject conversions
   void EnableV0mixing(Bool_t val){fdv0mixing = val;}   ///Enable V0 mixing  
   void CheckGhostPairs(vector<AliDielectronSingleTG*> e1); ///identify ghost pairs in like sign pais
+  Bool_t CheckGhost(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2); ///check ghost pairs for like sign and mixed like-sign pais
   void RejectPairs(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2, Int_t idie); ///identify conversions for the rejection
   void FillPair(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2, int type, AliDielectron *die, Int_t idie); /// Fill Pairs
-  bool PairTrackcut(double var1, double var2, int idie); /// Pair cuts
+  bool PairTrackcut(double var1, double var2, double var3, int idie); /// Pair cuts
   void CalcVars(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2, 
                 double &mass, double &phiv, double &px, double &py, double&pz,
                double &pt, double &e, double &phi, double &eta, double &cos, double &psi); /// Calcualate kinematic variables
@@ -172,13 +174,14 @@ public:
 
   Double_t GetPhiv(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2); /// calculate phiv
   Double_t GetOpeningAngle(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2); /// calculate opening angle 
+  Double_t GetMass(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2); /// calculate Mass 
+  void SetRejBGPairs(bool Val1, bool Val2){ fBGRejUnlike = Val1 ; fBGRejLike = Val2 ; } /// SetFlag to Enable Rejection of ghost BG pairs 
   void SetPairCuts(Int_t Types[20]){
     for(int i=0;i<20;i++){
       fRejectPairFlag[i] = Types[i];
     }
   }
 
-
 protected:
   enum {kAllEvents=0, kSelectedEvents, kV0andEvents, kFilteredEvents, kPileupEvents, kNbinsEvent};
   TList fListDielectron;             // List of dielectron framework instances
@@ -223,10 +226,12 @@ protected:
   std::vector<AliDielectronSingleTG*>  fVemtmp;   /// template for electron lists
   std::vector<AliDielectronSingleTG*>  fVeptmp;   /// template for positron lists
   Double_t fdconvphiv;      /// PhiCut
+  Double_t fdconvMee;      /// MassCut
   Double_t fdop;      /// Opening angle Cut
   Double_t fbz;            /// Magnetic field
   Bool_t fdv0mixing;       /// Mixing using V0 
-
+  Bool_t fBGRejUnlike;     //// Ghost rejection flag for event mixing (unlike pairs)
+  Bool_t fBGRejLike;     //// Ghost rejection flag for event mixing (like pairs)
 
   //Buffer for event mixing
   static const int fgkNBUF=100; //depth of buffer
index 32b95417ad86db6fa449da602b3401203dbf8f5c..8c18bc4e822dac0ccd578d72d3e8423b69205645 100644 (file)
@@ -33,14 +33,17 @@ AliAnalysisTask *AddTask_taku_LMEEPbPb2011Cent(Bool_t runRejection=kFALSE, Bool_
     hasMC=kTRUE;
   }
   
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
-    gROOT->LoadMacro(configLMEECutLibPath.Data());
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data())){
+    if(!gROOT->GetClass("LMEECutLibTaku")){
+      gROOT->LoadMacro(configLMEECutLibPath.Data());
+    }
+  }
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())){
     gROOT->LoadMacro(configFilePath.Data());
-
-  LMEECutLib* cutlib = new LMEECutLib();
+  }
+  LMEECutLibTaku* cutlib = new LMEECutLibTaku();
   cutlib->SetMCFlag(hasMC);
-  AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiEDataCent");
+  AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiETGDataCent");
 
   ////default cutter defined in ConfigTakuLMEEPbPb2011.C
   Int_t PairCutTypeDef[20]={0,
@@ -63,8 +66,8 @@ AliAnalysisTask *AddTask_taku_LMEEPbPb2011Cent(Bool_t runRejection=kFALSE, Bool_
     task->UsePhysicsSelection();
   }
   task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
-  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
-  task->RejectConversion(2.0);
+  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibTaku::kPbPb2011TPCandTOF)); //
+  task->RejectConversion(2.0, 0.3);
   task->RejectOP(0.035);
   task->SetPairCuts(PairCutType);
   task->EnableV0mixing(kFALSE);
index e2c10eb39f723037e4fde0c86edf394c3f235976..0cdc4a00ebea880676866b440809a75e219bf82e 100644 (file)
@@ -33,14 +33,18 @@ AliAnalysisTask *AddTask_taku_LMEEPbPb2011SemiCent1(Bool_t runRejection=kFALSE,
     hasMC=kTRUE;
   }
   
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
-    gROOT->LoadMacro(configLMEECutLibPath.Data());
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data())){
+    if(!gROOT->GetClass("LMEECutLibTaku")){
+      gROOT->LoadMacro(configLMEECutLibPath.Data(), 0, kTRUE);
+    }
+  }
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())){
     gROOT->LoadMacro(configFilePath.Data());
+  }
 
-  LMEECutLib* cutlib = new LMEECutLib();
+  LMEECutLibTaku* cutlib = new LMEECutLibTaku();
   cutlib->SetMCFlag(hasMC);
-  AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiEDataSemiCent1");
+  AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiETGDataSemiCent1");
 
   ////default cutter defined in ConfigTakuLMEEPbPb2011.C
   Int_t PairCutTypeDef[20]={0,
@@ -63,8 +67,8 @@ AliAnalysisTask *AddTask_taku_LMEEPbPb2011SemiCent1(Bool_t runRejection=kFALSE,
     task->UsePhysicsSelection();
   }
   task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
-  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
-  task->RejectConversion(2.0);
+  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibTaku::kPbPb2011TPCandTOF)); //
+  task->RejectConversion(2.0, 0.3);
   task->RejectOP(0.035);
   task->SetPairCuts(PairCutType);
   task->EnableV0mixing(kFALSE);
index 8c7dd3016a4ec31bc2c661f4309cc7978a30ae4e..35d7a58335569829658c281f462e518d3a7b93d3 100644 (file)
@@ -33,14 +33,17 @@ AliAnalysisTask *AddTask_taku_LMEEPbPb2011SemiCent2(Bool_t runRejection=kFALSE,
     hasMC=kTRUE;
   }
   
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
-    gROOT->LoadMacro(configLMEECutLibPath.Data());
-  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data())){
+    if(!gROOT->GetClass("LMEECutLibTaku")){
+      gROOT->LoadMacro(configLMEECutLibPath.Data());
+    }
+  }
+  if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())){
     gROOT->LoadMacro(configFilePath.Data());
-
-  LMEECutLib* cutlib = new LMEECutLib();
+  }
+  LMEECutLibTaku* cutlib = new LMEECutLibTaku();
   cutlib->SetMCFlag(hasMC);
-  AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiEDataSemiCent2");
+  AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiETGDataSemiCent2");
 
   ////default cutter defined in ConfigTakuLMEEPbPb2011.C
   Int_t PairCutTypeDef[20]={0,
@@ -63,8 +66,8 @@ AliAnalysisTask *AddTask_taku_LMEEPbPb2011SemiCent2(Bool_t runRejection=kFALSE,
     task->UsePhysicsSelection();
   }
   task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
-  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
-  task->RejectConversion(2.0);
+  task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibTaku::kPbPb2011TPCandTOF)); //
+  task->RejectConversion(2.0, 0.3);
   task->RejectOP(0.035);
   task->SetPairCuts(PairCutType);
   task->EnableV0mixing(kFALSE);
index b63fa688b9b092e67f8e7efdc424b4452da80a1c..57e6a86b4e4eb58196a19383e8bd40a680bf9c29 100644 (file)
@@ -25,11 +25,6 @@ void SetSignals(AliDielectron *die);
 //////////////////////////////////////////////////////////
 
 
-
-
-
-
-
 TString names=("noPairing;TPCTOFCentnoPair;TPCTOFSemiCent1noPair;TPCTOFSemiCent2noPair;TPCTOFCentOpPair;TPCTOFSemiCent1OpPair;TPCTOFSemiCent2OpPair;TPCTOFCentPvPair;TPCTOFSemiCent1PvPair;TPCTOFSemiCent2PvPair;TPCTOFCentOpPair2;TPCTOFSemiCent1OpPair2;TPCTOFSemiCent2OpPair2;TPCTOFCentPvPair2;TPCTOFSemiCent1PvPair2;TPCTOFSemiCent2PvPair2");
                 
 TObjArray *arrNames=names.Tokenize(";");
@@ -46,7 +41,7 @@ AliDielectron* ConfigTakuLMEEPbPb2011(Int_t cutDefinition, Bool_t withMC=kFALSE,
   Int_t selectedPairCut=-1;
   Bool_t rejectionStep=kFALSE;
   Bool_t HasPairCut = kFALSE;
-  LMEECutLib*  LMCL = new LMEECutLib();
+  LMEECutLibTaku*  LMCL = new LMEECutLibTaku();
 
   //
   // Setup the instance of AliDielectron
@@ -77,108 +72,108 @@ AliDielectron* ConfigTakuLMEEPbPb2011(Int_t cutDefinition, Bool_t withMC=kFALSE,
   }
   //////////////////////////////////////////////
   else if (cutDefinition==1) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011Central;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
     rejectionStep = kFALSE;
     HasPairCut = kFALSE;
   }
   else if (cutDefinition==2) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
     rejectionStep = kFALSE;
     HasPairCut = kFALSE;
   }
   else if (cutDefinition==3) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
     rejectionStep = kFALSE;
     HasPairCut = kFALSE;
   }
   //////////////////////////////////////////////
   else if (cutDefinition==4) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011Central;
-    selectedPairCut = LMEECutLib::kPbPb2011OP;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
     rejectionStep = kTRUE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==5) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
-    selectedPairCut = LMEECutLib::kPbPb2011OP;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
     rejectionStep = kTRUE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==6) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
-    selectedPairCut = LMEECutLib::kPbPb2011OP;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
     rejectionStep = kTRUE;
     HasPairCut =  kTRUE;
   }
   //////////////////////////////////////////////
   else if (cutDefinition==7) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011Central;
-    selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
     rejectionStep = kTRUE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==8) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
-    selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
     rejectionStep = kTRUE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==9) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
-    selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
     rejectionStep = kTRUE;
     HasPairCut =  kTRUE;
   }
   //////////////////////////////////////////////
   else if (cutDefinition==10) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011Central;
-    selectedPairCut = LMEECutLib::kPbPb2011OP;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
     rejectionStep = kFALSE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==11) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
-    selectedPairCut = LMEECutLib::kPbPb2011OP;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
     rejectionStep = kFALSE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==12) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
-    selectedPairCut = LMEECutLib::kPbPb2011OP;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
     rejectionStep = kFALSE;
     HasPairCut =  kTRUE;
   }
   //////////////////////////////////////////////
   else if (cutDefinition==13) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011Central;
-    selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
     rejectionStep = kFALSE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==14) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
-    selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
     rejectionStep = kFALSE;
     HasPairCut =  kTRUE;
   }
   else if (cutDefinition==15) {
-    selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
-    selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
-    selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+    selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+    selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+    selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
     rejectionStep = kFALSE;    
     HasPairCut =  kTRUE;
   }
index 4900f008e3a38ddf7c3eb69d65565ca46bde8573..6a59abc854e397b58ec7f61218416556eed0e628 100644 (file)
@@ -1,4 +1,4 @@
-class LMEECutLib {
+class LMEECutLibTaku {
 
   public:
   static  enum LMMECutSet {
@@ -318,8 +318,9 @@ class LMEECutLib {
       break;
     case kPbPb2011Phiv:
       pairCuts =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad"); 
-      pairCuts->AddCut(AliDielectronVarManager::kPhivPair, 2.0, TMath::ACos(-1.0), kTRUE); //exclude
-      pairCuts->AddCut(AliDielectronVarManager::kM, 0, 0.15,kTRUE);          ///exclude
+      pairCuts->SetCutType(AliDielectronVarCuts::kAny);
+      pairCuts->AddCut(AliDielectronVarManager::kPhivPair, 0.0, 2.0);
+      pairCuts->AddCut(AliDielectronVarManager::kM, 0.15, 100.0);
       break;
     default: cout << "No Pair Cuts defined " << endl;                                                                        
     }