Write flag about UseSimpleMerging to output file
authorcholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 5 Jul 2011 13:13:31 +0000 (13:13 +0000)
committercholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 5 Jul 2011 13:13:31 +0000 (13:13 +0000)
allow early phi acceptance correction

PWG2/FORWARD/analysis2/AliFMDDensityCalculator.cxx
PWG2/FORWARD/analysis2/AliFMDDensityCalculator.h
PWG2/FORWARD/analysis2/AliFMDSharingFilter.cxx

index 9d72637..c93170b 100644 (file)
@@ -32,7 +32,7 @@ AliFMDDensityCalculator::AliFMDDensityCalculator()
     fCorrections(0),
     fMaxParticles(5),
     fUsePoisson(false),
-    fUsePhiAcceptance(false),
+    fUsePhiAcceptance(1),
     fAccI(0),
     fAccO(0),
     fFMD1iMax(0),
@@ -62,7 +62,7 @@ AliFMDDensityCalculator::AliFMDDensityCalculator(const char* title)
     fCorrections(0),
     fMaxParticles(5),
     fUsePoisson(false),
-    fUsePhiAcceptance(false),
+    fUsePhiAcceptance(1),
     fAccI(0),
     fAccO(0),
     fFMD1iMax(0),
@@ -326,6 +326,8 @@ AliFMDDensityCalculator::Calculate(const AliESDFMD&        fmd,
            rh->fEvsM->Fill(mult,0);
            continue;
          }
+         if (fUsePhiAcceptance == 2) 
+           mult *= AcceptanceCorrection(r,t);
 
          Double_t cut  = 1024;
          if (eta != AliESDFMD::kInvalidEta) cut = GetMultCut(d, r, eta,false);
@@ -631,7 +633,7 @@ AliFMDDensityCalculator::Correction(UShort_t d,
   AliForwardCorrectionManager&  fcm = AliForwardCorrectionManager::Instance();
 
   Float_t correction = 1; 
-  if (fUsePhiAcceptance) correction = AcceptanceCorrection(r,t);
+  if (fUsePhiAcceptance == 1) correction = AcceptanceCorrection(r,t);
   if (lowFlux) { 
     TH1D* dblHitCor = 0;
     if (fcm.GetDoubleHit()) 
@@ -803,7 +805,9 @@ AliFMDDensityCalculator::DefineOutput(TList* dir)
   TNamed* method = new TNamed("method", 
                              (fUsePoisson ? "Poisson" : "Energy loss"));
   TNamed* phiA   = new TNamed("phiAcceptance", 
-                             (fUsePhiAcceptance ? "enabled" : "disabled"));
+                             (fUsePhiAcceptance == 0 ? "disabled" : 
+                              fUsePhiAcceptance == 1 ? "particles" :
+                              "energy loss"));
   TNamed* etaL   = new TNamed("etaLumping", Form("%d", fEtaLumping));
   TNamed* phiL   = new TNamed("phiLumping", Form("%d", fPhiLumping));
   // TParameter<double>* nxi = new TParameter<double>("nXi", fNXi);
index 04ba463..608af06 100644 (file)
@@ -136,9 +136,14 @@ public:
   /** 
    * Set whether to use the phi acceptance correction. 
    * 
-   * @param u If true, use the phi acceptance (default is false)
+   * How the phi acceptance is used depends on the value passed.  
+   * - 0:  No phi acceptance 
+   * - 1:  Phi acceptance correction done to estimate of particles 
+   * - 2:  Phi acceptance correction done to energy deposited 
+   *
+   * @param u If >0, use the phi acceptance (default is false)
    */
-  void SetUsePhiAcceptance(Bool_t u) { fUsePhiAcceptance = u; }
+  void SetUsePhiAcceptance(UShort_t u) { fUsePhiAcceptance = u; }
   /** 
    * Set the lower multiplicity cut.  This overrides the setting in
    * the energy loss fits.
@@ -400,7 +405,7 @@ protected:
   TH1D*    fCorrections;   //  Histogram
   UShort_t fMaxParticles;  //  Maximum particle weight to use 
   Bool_t   fUsePoisson;    //  If true, then use poisson statistics 
-  Bool_t   fUsePhiAcceptance; // Whether to correct for corners 
+  UShort_t fUsePhiAcceptance; // Whether to correct for corners 
   TH1D*    fAccI;          //  Acceptance correction for inner rings
   TH1D*    fAccO;          //  Acceptance correction for outer rings
   TArrayI  fFMD1iMax;      //  Array of max weights 
index 84ea45e..096dd4a 100644 (file)
@@ -858,18 +858,21 @@ AliFMDSharingFilter::DefineOutput(TList* dir)
   // TNamed*             sigma  = new TNamed("sigma", fIncludeSigma ? 
   //                                     "included" : "excluded");
   // sigma->SetUniqueID(fIncludeSigma);
-  TNamed*             angle  = new TNamed("angle", fCorrectAngles ? 
-                                         "corrected" : "uncorrected");
+  TNamed* angle  = new TNamed("angle", fCorrectAngles ? 
+                             "corrected" : "uncorrected");
   angle->SetUniqueID(fCorrectAngles);
-  TNamed*             low    = new TNamed("lowSignal", 
-                                         fZeroSharedHitsBelowThreshold ? 
-                                         "zeroed" : "kept");
+  TNamed* low = new TNamed("lowSignal", fZeroSharedHitsBelowThreshold ? 
+                          "zeroed" : "kept");
   low->SetUniqueID(fZeroSharedHitsBelowThreshold);
+  TNamed* simple = new TNamed("simple", fUseSimpleMerging ? "yes" : "no");
+  simple->SetUniqueID(fUseSimpleMerging);
+  
   // d->Add(lowCut);
   // d->Add(nXi);
   // d->Add(sigma);
   d->Add(angle);
   d->Add(low);
+  d->Add(simple);
   fLCuts.Output(d,"lCuts");
   fHCuts.Output(d,"hCuts");