]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/FEMTOSCOPY/AliFemto/AliFemtoSimpleAnalysis.cxx
Randomizing particle order in the pair for identical particles
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoSimpleAnalysis.cxx
index dfa513d9c7643191ca8447849d4e3cd9138814ec..bca48c4393d7f70c48a3076dd000bb6b06421001 100644 (file)
@@ -407,13 +407,15 @@ void AliFemtoSimpleAnalysis::ProcessEvent(const AliFemtoEvent* hbtEvent) {
 }
 //_________________________
 void AliFemtoSimpleAnalysis::MakePairs(const char* typeIn, AliFemtoParticleCollection *partCollection1,
-                                            AliFemtoParticleCollection *partCollection2){
+                                      AliFemtoParticleCollection *partCollection2){
 // Build pairs, check pair cuts, and call CFs' AddRealPair() or
 // AddMixedPair() methods. If no second particle collection is
 // specfied, make pairs within first particle collection.
 
   string type = typeIn;
 
+  int swpart = ((long int) partCollection1) % 2;
+
   AliFemtoPair* tPair = new AliFemtoPair;
 
   AliFemtoCorrFctnIterator tCorrFctnIter;
@@ -449,6 +451,19 @@ void AliFemtoSimpleAnalysis::MakePairs(const char* typeIn, AliFemtoParticleColle
 
       //---- If pair passes cut, loop over CF's and add pair to real/mixed ----//
 
+      if (!partCollection2) {
+       if (swpart) {
+         tPair->SetTrack1(*tPartIter2);
+         tPair->SetTrack2(*tPartIter1);
+         swpart = 0;
+       }
+       else {
+         tPair->SetTrack1(*tPartIter1);
+         tPair->SetTrack2(*tPartIter2);
+         swpart = 1;
+       }
+      }
+
       if (fPairCut->Pass(tPair)){
         for (tCorrFctnIter=fCorrFctnCollection->begin();
              tCorrFctnIter!=fCorrFctnCollection->end();tCorrFctnIter++){