bugfix: specifying number of bins in TTree::Project, sets the TTree status correctly...
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Sep 2010 11:57:59 +0000 (11:57 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Sep 2010 11:57:59 +0000 (11:57 +0000)
HLT/BASE/AliHLTTTreeProcessor.cxx
HLT/BASE/AliHLTTTreeProcessor.h

index 7d2761a..65d44eb 100644 (file)
@@ -257,7 +257,15 @@ TH1* AliHLTTTreeProcessor::CreateHistogram(const AliHLTHistogramDefinition& d)
     return 0;
   }
 
-  const Long64_t rez = fTree->Project(d.GetName().Data(), d.GetExpression().Data(), d.GetCut().Data(), d.GetDrawOption().Data()); 
+  TString histName(d.GetName());
+  if (!histName.Contains("(")) {
+    //Without number of bins, the histogram will be "fixed"
+    //and most of values can go to underflow/overflow bins,
+    //since kCanRebin will be false.
+    histName += TString::Format("(%d)", Int_t(kDefaultNBins));
+  }
+
+  const Long64_t rez = fTree->Project(histName.Data(), d.GetExpression().Data(), d.GetCut().Data(), d.GetDrawOption().Data());
 
   if (rez == -1) {
     HLTError("TTree::Project failed");
index e1b1264..9c7caee 100644 (file)
@@ -44,6 +44,7 @@ class AliHLTTTreeProcessor : public AliHLTProcessor {
 private:
   enum EDefaults {
     kMaxEntries = 1000,
+    kDefaultNBins = 200,
     kInterval = 5
   };
 public: