]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
K0s code update (Matt Steinpreis)
authordgangadh <dgangadh@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Feb 2013 11:29:44 +0000 (11:29 +0000)
committerdgangadh <dgangadh@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Feb 2013 11:29:44 +0000 (11:29 +0000)
PWGCF/FEMTOSCOPY/K0Analysis/AliFemtoK0Analysis.cxx
PWGCF/FEMTOSCOPY/K0Analysis/AliFemtoK0Analysis.h

index fa145452853731a65c714c64606c73c6c2062dc6..ee3041d130433ec9fcd7c9ce7c1569ae2dd2a663 100644 (file)
@@ -64,6 +64,8 @@ ClassImp(AliFemtoK0Analysis)
 AliFemtoK0Analysis::AliFemtoK0Analysis():\r
 AliAnalysisTaskSE(),\r
   fFieldPos(kTRUE),\r
+  fOnlineCase(kTRUE),\r
+  fMeritCase(kTRUE),\r
   fEventCount(0),\r
   fEC(0x0),\r
   fEvt(0X0),\r
@@ -80,9 +82,11 @@ AliAnalysisTaskSE(),
 {\r
 }\r
 //________________________________________________________________________\r
-AliFemtoK0Analysis::AliFemtoK0Analysis(const char *name, bool FieldPositive) \r
+AliFemtoK0Analysis::AliFemtoK0Analysis(const char *name, bool FieldPositive, bool OnlineCase, bool MeritCase\r
 : AliAnalysisTaskSE(name), \r
   fFieldPos(FieldPositive),\r
+  fOnlineCase(OnlineCase),\r
+  fMeritCase(MeritCase),\r
   fEventCount(0),\r
   fEC(0x0),\r
   fEvt(0X0),\r
@@ -98,7 +102,9 @@ AliFemtoK0Analysis::AliFemtoK0Analysis(const char *name, bool FieldPositive)
   fNegDaughter2(0x0)\r
 {\r
   //main constructor\r
-  fFieldPos = FieldPositive;\r
+  fFieldPos    = FieldPositive;\r
+  fOnlineCase  = OnlineCase;\r
+  fMeritCase   = MeritCase;\r
   // Define output slots here \r
   // Output slot #1\r
   DefineOutput(1, TList::Class());\r
@@ -108,6 +114,8 @@ AliFemtoK0Analysis::AliFemtoK0Analysis(const char *name, bool FieldPositive)
 AliFemtoK0Analysis::AliFemtoK0Analysis(const AliFemtoK0Analysis &obj)\r
 : AliAnalysisTaskSE(obj.fName),\r
   fFieldPos(obj.fFieldPos),\r
+  fOnlineCase(obj.fOnlineCase),\r
+  fMeritCase(obj.fMeritCase),\r
   fEventCount(obj.fEventCount),\r
   fEC(obj.fEC),\r
   fEvt(obj.fEvt),\r
@@ -129,20 +137,22 @@ AliFemtoK0Analysis &AliFemtoK0Analysis::operator=(const AliFemtoK0Analysis &obj)
  //Assignment operator\r
  if (this == &obj) return *this;\r
  \r
- fFieldPos = obj.fFieldPos;\r
- fEventCount = obj.fEventCount;\r
- fEC = obj.fEC;\r
- fEvt = obj.fEvt;\r
- fRandomNumber = obj.fRandomNumber;\r
- fName = obj.fName;\r
- fAOD = obj.fAOD;\r
- fOutputList = obj.fOutputList;\r
- fPidAOD = obj.fPidAOD;\r
- fPidESD = obj.fPidESD;\r
- fPosDaughter1 = obj.fPosDaughter1;  \r
- fPosDaughter2 = obj.fPosDaughter2;\r
- fNegDaughter1 = obj.fNegDaughter1;\r
- fNegDaughter2 = obj.fNegDaughter2;\r
+ fFieldPos     = obj.fFieldPos;\r
+ fOnlineCase   = obj.fOnlineCase;\r
+ fMeritCase    = obj.fMeritCase;\r
+ fEventCount   = obj.fEventCount;\r
+ fEC           = obj.fEC;\r
+ fEvt          = obj.fEvt;\r
+ fRandomNumber         = obj.fRandomNumber;\r
+ fName                 = obj.fName;\r
+ fAOD          = obj.fAOD;\r
+ fOutputList   = obj.fOutputList;\r
+ fPidAOD       = obj.fPidAOD;\r
+ fPidESD       = obj.fPidESD;\r
+ fPosDaughter1         = obj.fPosDaughter1;  \r
+ fPosDaughter2         = obj.fPosDaughter2;\r
+ fNegDaughter1         = obj.fNegDaughter1;\r
+ fNegDaughter2         = obj.fNegDaughter2;\r
 \r
  return (*this);\r
 }\r
@@ -184,6 +194,7 @@ void AliFemtoK0Analysis::MyInit()
   //fPidAOD = new AliAODpidUtil();\r
   AliAODInputHandler *aodH = dynamic_cast<AliAODInputHandler*>(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());\r
   fPidAOD = aodH->GetAODpidUtil();\r
+  //fPidAOD = aodH->GetPIDResponse();\r
   fPidESD = new AliESDpid();\r
 \r
   fPosDaughter1 = new AliESDtrack();\r
@@ -520,9 +531,13 @@ void AliFemtoK0Analysis::Exec(Option_t *)
     //load v0 track\r
     AliAODv0* v0 = fAOD->GetV0(i);\r
     if(!v0) continue;\r
-    if(!(v0->GetOnFlyStatus())) continue; //for online\r
-    //if((v0->GetOnFlyStatus())) continue; //for offline\r
-\r
+    if(fOnlineCase){\r
+     if(!(v0->GetOnFlyStatus())) continue;\r
+    } //for online\r
+    else{\r
+     if((v0->GetOnFlyStatus())) continue; //for offline\r
+    }\r
\r
     //for on-the-fly ordering\r
     AliAODTrack* tempTrack = (AliAODTrack*)v0->GetDaughter(0);\r
     short int pos0or1;\r
@@ -612,21 +627,23 @@ void AliFemtoK0Analysis::Exec(Option_t *)
      \r
     //Check for shared daughters, using v0 DCA to judge\r
     tempK0[v0Count].fSkipShared = kFALSE;\r
-    for(int iID = 0; iID<v0Count; iID++){\r
-     if(tempK0[iID].fSkipShared == kFALSE){\r
-      if(tempK0[iID].fDaughterID1 == prongTrackPos->GetID() || tempK0[iID].fDaughterID2 == prongTrackNeg->GetID()){\r
-        if(tempK0[iID].fV0Dca <= v0Dca){       //if old beats new\r
-         tempK0[v0Count].fSkipShared = kTRUE;  //skip new\r
-         break;                                        //no need to keep checking others\r
-        }\r
-        else{//new beats old\r
-        tempK0[iID].fSkipShared = kTRUE;       //skip old      \r
-        k0Count--;}                            //subtract from number of K0s (new one will be added later, if it succeeds)\r
+    if(fMeritCase){\r
+     for(int iID = 0; iID<v0Count; iID++){\r
+      if(tempK0[iID].fSkipShared == kFALSE){\r
+       if(tempK0[iID].fDaughterID1 == prongTrackPos->GetID() || tempK0[iID].fDaughterID2 == prongTrackNeg->GetID()){\r
+         if(tempK0[iID].fV0Dca <= v0Dca){      //if old beats new\r
+          tempK0[v0Count].fSkipShared = kTRUE; //skip new\r
+          break;                                       //no need to keep checking others\r
+         }\r
+         else{//new beats old\r
+         tempK0[iID].fSkipShared = kTRUE;      //skip old      \r
+         k0Count--;}                           //subtract from number of K0s (new one will be added later, if it succeeds)\r
+       }\r
       }\r
      }\r
-    }\r
-    if(tempK0[v0Count].fSkipShared) continue;  \r
-                                                                               \r
+    if(tempK0[v0Count].fSkipShared) continue;\r
+    }//if MeritCase            \r
+                                                                       \r
     //load parameters into temporary class instance\r
     if(v0Count < kMaxNumK0)\r
     {\r
@@ -758,6 +775,7 @@ void AliFemtoK0Analysis::Exec(Option_t *)
         //pt2 = (fEvt+evnum)->fK0Particle[j].fPt;\r
 \r
         pairPx = px1 + px2;\r
+\r
        pairPy = py1 + py2;\r
        pairPz = pz1 + pz2;\r
        pairKt = sqrt(pairPx*pairPx + pairPy*pairPy)/2.;\r
index b9205e35224965ddacf19bee658e569a4c5a4292..808887e39a5543a7b17dceb6aa56cd74067c9637 100644 (file)
@@ -30,7 +30,7 @@ class AliESDpid;
 class AliFemtoK0Analysis : public AliAnalysisTaskSE {
  public:
   AliFemtoK0Analysis();
-  AliFemtoK0Analysis(const char *name, bool FieldPositive = kTRUE);
+  AliFemtoK0Analysis(const char *name, bool FieldPositive = kTRUE, bool OnlineCase = kTRUE, bool MeritCase = kTRUE);
   virtual ~AliFemtoK0Analysis();
   AliFemtoK0Analysis(const AliFemtoK0Analysis&);
   AliFemtoK0Analysis& operator=(const AliFemtoK0Analysis&);
@@ -56,6 +56,8 @@ class AliFemtoK0Analysis : public AliAnalysisTaskSE {
   };
 
   bool fFieldPos;
+  bool fOnlineCase;
+  bool fMeritCase;
   int fEventCount;
 
   AliFemtoK0EventCollection ***fEC; //!
@@ -67,6 +69,7 @@ class AliFemtoK0Analysis : public AliAnalysisTaskSE {
   AliAODEvent    *fAOD; //!    // AOD object
   TList          *fOutputList; //! Compact Output list
   AliAODpidUtil  *fPidAOD; //!
+  //AliPIDResponse *fPidAOD; //!
   AliESDpid      *fPidESD; //!
   AliESDtrack    *fPosDaughter1;//!
   AliESDtrack    *fPosDaughter2;//!