]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
updates to clear coverity complains (thanks Jens!)
authorandronic <andronic@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 17 Dec 2010 18:24:21 +0000 (18:24 +0000)
committerandronic <andronic@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 17 Dec 2010 18:24:21 +0000 (18:24 +0000)
12 files changed:
PWG3/dielectron/AliAnalysisTaskDielectronEfficiency.cxx
PWG3/dielectron/AliAnalysisTaskDielectronFilter.cxx
PWG3/dielectron/AliDielectron.cxx
PWG3/dielectron/AliDielectronPID.cxx
PWG3/dielectron/AliDielectronPair.cxx
PWG3/dielectron/AliDielectronSignalBase.h
PWG3/dielectron/AliDielectronSignalExt.cxx
PWG3/dielectron/AliDielectronSignalFunc.cxx
PWG3/dielectron/AliDielectronVarManager.cxx
PWG3/dielectron/AliDielectronVarManager.h
PWG3/dielectron/macros/MakeDataReport.C
PWG3/dielectron/macros/PlotDataResults.C

index 1cc09e55a6dedd9dfaae5aac3977ce0bfb0b57d5..191dd60a5d607d3b45954e5cd307c609341e9536 100644 (file)
@@ -220,7 +220,7 @@ void AliAnalysisTaskDielectronEfficiency::FillPlots(AliVEvent *event)
   // Fill histograms
   //
   AliESDEvent *esd=dynamic_cast<AliESDEvent*>(event);
-
+  if (!esd) return;
   Int_t ntrack=esd->GetNumberOfTracks();
 
   // Fetch Stack 
@@ -284,10 +284,10 @@ void AliAnalysisTaskDielectronEfficiency::FillPlots(AliVEvent *event)
 
       //MC mother
       Int_t idMotherP=pP->GetFirstMother();
-      TParticle *motherP=0;
+//       TParticle *motherP=0;
       //       Int_t pdgMotherP=0;
       if (idMotherP>-1){
-        motherP=pStack->Particle(idMotherP);
+//         motherP=pStack->Particle(idMotherP);
       //       pdgMotherP=motherP->GetPdgCode();
       }
       //===============
index a64cfe09b78eea5a4a05b166103d32ff01a9f3ed..5675eb484d57a6db141b0e087df7d2078b70f095 100644 (file)
@@ -170,7 +170,8 @@ void AliAnalysisTaskDielectronFilter::UserExec(Option_t *)
   fDielectron->Process(InputEvent());
   
   if(fDielectron->HasCandidates()){
-    AliAODEvent *aod = ((AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler()))->GetAOD();
+    AliAODHandler *aodH=(AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
+    AliAODEvent *aod = aodH->GetAOD();
     
     //replace the references of the legs with the AOD references
     TObjArray *obj = 0x0;
@@ -201,7 +202,7 @@ void AliAnalysisTaskDielectronFilter::UserExec(Option_t *)
       }
     }
     
-    AliAODExtension *extDielectron = dynamic_cast<AliAODHandler*>       ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler())->GetFilteredAOD("AliAOD.Dielectron.root");
+    AliAODExtension *extDielectron = aodH->GetFilteredAOD("AliAOD.Dielectron.root");
     extDielectron->SelectEvent();
     //after candidate selection
     fEventStat->Fill(2.);
index 77fec87a4c2a8521f6e6e8dd70a1891eb7c998f2..30479e241418ebbdb4813b869b38bd168b33fada 100644 (file)
@@ -164,6 +164,12 @@ void AliDielectron::Process(AliVEvent *ev1, AliVEvent *ev2)
   // Process the events
   //
 
+  //at least first event is needed!
+  if (!ev1){
+    AliError("At least first event must be set!");
+    return;
+  }
+    
   AliDielectronVarManager::SetEvent(ev1);
    
   //in case we have MC load the MC event and process the MC particles
index 3381b1af4a343a9eddbdce57ad653466a6eb0dae..cda3f94fe488940b7fd3c52bf6c907bac07329f4 100644 (file)
@@ -114,8 +114,9 @@ void AliDielectronPID::AddCut(DetType det, AliPID::EParticleType type, Double_t
   // specify whether to 'exclude' the given band
   //
 
-  if (fNcuts==kNmaxPID){
+  if (fNcuts>=kNmaxPID){
     AliError(Form("only %d pid cut ranges allowed",kNmaxPID));
+    return;
   }
   if (TMath::Abs(nSigmaUp+99999.)<1e-20){
     nSigmaUp=TMath::Abs(nSigmaLow);
index 7b192beaff22083824d1539d958f18526206778e..eb1d7f07cf759a9dedcbf071b92f4fbb7775fb51 100644 (file)
@@ -223,8 +223,8 @@ Double_t AliDielectronPair::ThetaPhiCM(const Bool_t isHE, const Bool_t isTheta)
 
   // Laboratory frame 4-vectors:
   // projectile beam & target beam 4-mom
-  AliVParticle *d1 = dynamic_cast<AliVParticle*>(fRefD1.GetObject());
-  AliVParticle *d2 = dynamic_cast<AliVParticle*>(fRefD2.GetObject());
+  AliVParticle *d1 = static_cast<AliVParticle*>(fRefD1.GetObject());
+  AliVParticle *d2 = static_cast<AliVParticle*>(fRefD2.GetObject());
   
   const Double_t kBeamEnergy   = 3500.;
   Double_t px1=d1->Px();
index 50bac4ff0191af33bebaebc4625924373ed9cd74..5f937f6409395334de4df71accd5b9f765cb015f 100644 (file)
@@ -34,6 +34,7 @@ public:
   enum EBackgroundMethod {
     kFitted = 0,
     kLikeSign,
+    kLikeSignArithm,
     kEventMixing,
     kRotation
   };
index 099a921a3f587fb88d90b684beb11a3220f1e501..6cc7ad47fa154affa383c3807a148d6a7bec6fa3 100644 (file)
@@ -76,6 +76,7 @@ void AliDielectronSignalExt::Process(TObjArray* const arrhist)
   //
   switch ( fMethod ){
     case kLikeSign :
+    case kLikeSignArithm :
       ProcessLS(arrhist);    // process like-sign subtraction method
       break;
 
@@ -133,6 +134,12 @@ void AliDielectronSignalExt::ProcessLS(TObjArray* const arrhist)
 
     Float_t background = 2*TMath::Sqrt(pp*mm);
     Float_t ebackground = TMath::Sqrt(mm+pp);
+    if (fMethod==kLikeSignArithm){
+      //Arithmetic mean instead of geometric
+      background=(pp+mm);
+      ebackground=TMath::Sqrt(pp+mm);
+      if (TMath::Abs(ebackground)<1e-30) ebackground=1;
+    }
 //     Float_t signal = pm - background;
 //     Float_t error = TMath::Sqrt(epm*epm+mm+pp);
 
index c8a7fcaee09d0fa44ba1d75de4ebc25f342894a4..17c34a1e1f59c9625844c9cb1fad122f099bbaa8 100644 (file)
@@ -249,17 +249,19 @@ void AliDielectronSignalFunc::ProcessLS(TObjArray * const arrhist) {
   fHistDataPM->Fit(fFuncSigBack, fFitOpt.Data(), "", fFitMin, fFitMax);
   fHistDataPM->Fit(fFuncSigBack, fFitOpt.Data(), "", fFitMin, fFitMax);
   // declare the variables where the like-sign fit results will be stored
-  TFitResult *ppFitResult = 0x0;
-  TFitResult *mmFitResult = 0x0;
+//   TFitResult *ppFitResult = 0x0;
+//   TFitResult *mmFitResult = 0x0;
   // fit the like sign background
   TF1 *funcClonePP = (TF1*)fFuncBackground->Clone("funcClonePP");
   TF1 *funcCloneMM = (TF1*)fFuncBackground->Clone("funcCloneMM");
   fHistDataPP->Fit(funcClonePP, fFitOpt.Data(), "", fFitMin, fFitMax);
-  TFitResultPtr ppFitPtr = fHistDataPP->Fit(funcClonePP, fFitOpt.Data(), "", fFitMin, fFitMax);
-  ppFitResult = ppFitPtr.Get();
+  fHistDataPP->Fit(funcClonePP, fFitOpt.Data(), "", fFitMin, fFitMax);
+//   TFitResultPtr ppFitPtr = fHistDataPP->Fit(funcClonePP, fFitOpt.Data(), "", fFitMin, fFitMax);
+//   ppFitResult = ppFitPtr.Get();
+  fHistDataMM->Fit(funcCloneMM, fFitOpt.Data(), "", fFitMin, fFitMax);
   fHistDataMM->Fit(funcCloneMM, fFitOpt.Data(), "", fFitMin, fFitMax);
-  TFitResultPtr mmFitPtr = fHistDataMM->Fit(funcCloneMM, fFitOpt.Data(), "", fFitMin, fFitMax);
-  mmFitResult = mmFitPtr.Get();
+//   TFitResultPtr mmFitPtr = fHistDataMM->Fit(funcCloneMM, fFitOpt.Data(), "", fFitMin, fFitMax);
+//   mmFitResult = mmFitPtr.Get();
   
   for(Int_t iBin=1; iBin<=fHistDataPM->GetXaxis()->GetNbins(); iBin++) {
     Double_t m = fHistDataPM->GetBinCenter(iBin);
index a4da04eef55bbd0c7ba15f2ffb6c31010c39b21f..72785e3bcc00b869bf19761dfea50adff7bfd680 100644 (file)
@@ -47,6 +47,7 @@ const char* AliDielectronVarManager::fgkParticleNames[AliDielectronVarManager::k
   "NclsTPC",
   "NclsTPCiter1",
   "NFclsTPC",
+  "NFclsTPCrobust",
   "TPCsignalN",
   "TPCchi2PerCluster",
   "TrackStatus",
index c86319afa29bd4350f29482119739405b9b685bf..4d9be7085663d8e419ff0ac0ae5956db09c86579 100644 (file)
@@ -79,6 +79,7 @@ public:
     kNclsTPC,                // number of clusters assigned in the TPC
     kNclsTPCiter1,           // number of clusters assigned in the TPC after first iteration
     kNFclsTPC,               // number of findable clusters in the TPC
+    kNFclsTPCr,              // number of findable clusters in the TPC with more robust definition
     kTPCsignalN,             // number of points used for dEdx
     kTPCchi2Cl,              // chi2/cl in TPC
     kTrackStatus,            // track status bits
@@ -274,6 +275,7 @@ inline void AliDielectronVarManager::FillVarESDtrack(const AliESDtrack *particle
   values[AliDielectronVarManager::kNclsTPC]       = tpcNcls; // TODO: get rid of the plain numbers
   values[AliDielectronVarManager::kNclsTPCiter1]  = particle->GetTPCNclsIter1(); // TODO: get rid of the plain numbers
   values[AliDielectronVarManager::kNFclsTPC]      = particle->GetTPCNclsF();
+  values[AliDielectronVarManager::kNFclsTPCr]     = particle->GetTPCClusterInfo(2,1);
   values[AliDielectronVarManager::kTPCsignalN]    = particle->GetTPCsignalN();
   values[AliDielectronVarManager::kNclsTRD]       = particle->GetNcls(2); // TODO: get rid of the plain numbers
   values[AliDielectronVarManager::kTRDntracklets] = particle->GetTRDntracklets(); // TODO: GetTRDtracklets/GetTRDntracklets?
@@ -373,6 +375,7 @@ inline void AliDielectronVarManager::FillVarAODTrack(const AliAODTrack *particle
   values[AliDielectronVarManager::kNclsTPC]       = particle->GetTPCNcls();
   values[AliDielectronVarManager::kNclsTPCiter1]  = particle->GetTPCNcls(); // not really available in AOD
   values[AliDielectronVarManager::kNFclsTPC]      = 0;
+  values[AliDielectronVarManager::kNFclsTPCr]      = 0;
   values[AliDielectronVarManager::kNclsTRD]       = 0;
   values[AliDielectronVarManager::kTRDntracklets] = 0;
   values[AliDielectronVarManager::kTRDpidQuality] = 0;
@@ -441,6 +444,7 @@ inline void AliDielectronVarManager::FillVarMCParticle(const AliMCParticle *part
   values[AliDielectronVarManager::kNclsTPC]       = 0;
   values[AliDielectronVarManager::kNclsTPCiter1]  = 0; 
   values[AliDielectronVarManager::kNFclsTPC]      = 0;
+  values[AliDielectronVarManager::kNFclsTPCr]      = 0;
   values[AliDielectronVarManager::kNclsTRD]       = 0;
   values[AliDielectronVarManager::kTRDntracklets] = 0;
   values[AliDielectronVarManager::kTRDpidQuality] = 0;
index 16778f148f38c958d2095811ed231b1ef5eabef6..28eaa5f9dc96627cce11721a4873c8ac7810f10a 100644 (file)
@@ -417,6 +417,12 @@ c->SetAlias("cut","PairType==1")
 c->SetAlias("nCls","Leg1_NclsTPC>90&&Leg2_NclsTPC>90");
 
 //--------PID
+//-Param dEdx
+c->SetAlias("cutPipardEdx","Leg1_TPC_signal>75-20*exp(-.7*Leg1_P_InnerParam)&&Leg2_TPC_signal>75-20*exp(-.7*Leg2_P_InnerParam)")
+  c->SetAlias("TOFe1r","(((Leg1_TrackStatus&32768)==32768)&&abs(Leg1_TOF_nSigma_Electrons)<3)");
+  c->SetAlias("TOFe2r","(((Leg2_TrackStatus&32768)==32768)&&abs(Leg2_TOF_nSigma_Electrons)<3)");
+
+c->SetAlias("cutPspecial","(abs(Leg1_TPC_nSigma_Protons)>3||(abs(Leg1_TPC_nSigma_Protons)<=3&&TOFe1r))&&(abs(Leg2_TPC_nSigma_Protons)>3||(abs(Leg2_TPC_nSigma_Protons)<=3&&TOFe2r))")
 
 //-- nsigma
 c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electrons)<3");
@@ -424,23 +430,24 @@ c->SetAlias("cutE","abs(Leg1_TPC_nSigma_Electrons)<3&&abs(Leg2_TPC_nSigma_Electr
 c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>3&&abs(Leg2_TPC_nSigma_Pions)>3");
 c->SetAlias("cutP","(Leg1_TPC_nSigma_Protons)>3&&(Leg2_TPC_nSigma_Protons)>3");
 c->SetAlias("pidSig","cutE&&cutPi&&cutP");
-
 //-- Pi param
-// c->SetAlias("eleParam","Leg1_TPC_nSigma_Electrons<5&&Leg2_TPC_nSigma_Electrons<5&&Leg1_TPC_nSigma_Electrons>-2.65*exp(-0.6757*Leg1_P_InnerParam)&&Leg2_TPC_nSigma_Electrons>-8*exp(-0.6*Leg2_P_InnerParam)");
-c->SetAlias("eleParam","Leg1_TPC_nSigma_Electrons<5&&Leg2_TPC_nSigma_Electrons<5&&Leg1_TPC_nSigma_Electrons>-6*exp(-0.6*Leg1_P_InnerParam)&&Leg2_TPC_nSigma_Electrons>-6*exp(-0.6*Leg2_P_InnerParam)");
+// c->SetAlias("eleParam","Leg1_TPC_nSigma_Electrons<5&&Leg2_TPC_nSigma_Electrons<5&&Leg1_TPC_nSigma_Electrons>-2.65*exp(-0.9*Leg1_P_InnerParam)&&Leg2_TPC_nSigma_Electrons>-8*exp(-0.6*Leg2_P_InnerParam)");
+c->SetAlias("eleParam","Leg1_TPC_nSigma_Electrons<5&&Leg2_TPC_nSigma_Electrons<5&&Leg1_TPC_nSigma_Electrons>-3.7*exp(-0.9*Leg1_P_InnerParam)-0.1&&Leg2_TPC_nSigma_Electrons>-3.7*exp(-0.6*Leg2_P_InnerParam)-0.1");
 c->SetAlias("pidParam","eleParam&&cutP");
 
 
 
 c->SetAlias("LegEta","abs(Leg1_Eta)<0.9&&abs(Leg2_Eta<0.9)");
 c->SetAlias("LegNcl","Leg1_NclsTPC>90&&Leg2_NclsTPC>90");
+c->SetAlias("LegPt","Leg1_Pt>1&&Leg2_Pt>1");
 c->SetAlias("Rap","abs(Y)<0.9");
 c->SetAlias("QA","LegNcl&&LegEta&&Rap");
 c->SetAlias("spdFirst","(Leg1_ITS_clusterMap&1)==1 && (Leg2_ITS_clusterMap&1)==1");
 c->SetAlias("LegNclDiffIter1","abs(Leg1_NclsTPC-Leg1_NclsTPCiter1)<10&&abs(Leg2_NclsTPC-Leg2_NclsTPCiter1)<10")
 c->SetAlias("LegNclPID","(Leg1_NclsTPC-Leg1_TPCsignalN)<20&&(Leg2_NclsTPC-Leg2_TPCsignalN)<20")
 
-c->SetAlias("cut","PairType==1&&QA&&pidSig")
+c->SetAlias("cut","PairType==1&&QA&&cutPipardEdx&&cutPspecial")
+c->SetAlias("cut","PairType==1&&QA&&pidSig&&LegPt")
 
 c->SetMarkerStyle(20);
 c->SetMarkerSize(.8);
@@ -448,21 +455,23 @@ c->SetMarkerColor(kBlack);
 c->SetLineColor(kBlack);
 
 // c->SetAlias("nCls","Leg1_NclsTPC>90&&Leg2_NclsTPC>90");
-c->Draw("M>>hM(50,2,4)","cut","e");
+c->Draw("M>>hM(125,0,5)","cut","e");
 
 c->SetMarkerColor(kBlue);
 c->SetLineColor(kBlue);
 // c->SetAlias("cut","PairType==1&&nCls&&pidParam&&LegEta&&Rap")
-c->SetAlias("cut","PairType==1&&QA&&pidSig&&LegNclPID")
+// c->SetAlias("cut","PairType==1&&QA&&pidSig&&LegNclPID")
 // c->SetAlias("nCls","Leg1_NclsTPC>140&&Leg2_NclsTPC>140");
+c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>3.5&&abs(Leg2_TPC_nSigma_Pions)>3.5");
 c->Draw("M>>hM2(50,2,4)","cut","esame");
 
 
 c->SetMarkerColor(kGreen);
 c->SetLineColor(kGreen);
-c->SetAlias("cut","PairType==1&&QA&&pidSig")
-c->SetAlias("LegNcl","Leg1_NclsTPC>120&&Leg2_NclsTPC>120");
+// c->SetAlias("cut","PairType==1&&QA&&pidSig")
+// c->SetAlias("LegNcl","Leg1_NclsTPC>120&&Leg2_NclsTPC>120");
 // c->SetAlias("nCls","Leg1_NclsTPC>150&&Leg2_NclsTPC>150");
+c->SetAlias("cutPi","abs(Leg1_TPC_nSigma_Pions)>3.5&&abs(Leg2_TPC_nSigma_Pions)>3.5");
 c->Draw("M>>hM3(50,2,4)","cut","esame");
 
 
index e24b6677884772348fa7a80fe32586c905d6216a..9ba9564079c41a4a20d1d3f4fca77c3772b24e4f 100644 (file)
@@ -15,7 +15,8 @@
 #include "AliDielectronCFdraw.h"
 #include "AliDielectron.h"
 
-AliDielectronSignalBase* GetSignalLS(AliDielectronCFdraw &d, Int_t step);
+AliDielectronSignalBase* GetSignalLS(AliDielectronCFdraw &d, Int_t step,
+                                     AliDielectronSignalBase::EBackgroundMethod type=AliDielectronSignalBase::kLikeSign);
 AliDielectronSignalBase* GetSignalRot(AliDielectronCFdraw &d, Int_t step);
 void SetStyle(AliDielectronSignalBase *sig, const char* nameAdd);
 void DrawSpectra(AliDielectronSignalBase *sig, const char* cname, TH1  *hEventStat=0x0, Bool_t save=kFALSE);
@@ -41,8 +42,8 @@ void PlotDataResults(const char* filenameData, const char* filenameMC="", Bool_t
   //Set common Ranges
 //   d.SetRangeUser("Leg1_Pt",0.8,1000.);
 //   d.SetRangeUser("Leg2_Pt",0.8,1000.);
-  d.SetRangeUser("Leg1_NclsTPC",140.,170.);
-  d.SetRangeUser("Leg2_NclsTPC",140.,170.);
+  d.SetRangeUser("Leg1_NclsTPC",90.,170.);
+  d.SetRangeUser("Leg2_NclsTPC",90.,170.);
   d.SetRangeUser("Leg1_Pt",1.01,100000);
   d.SetRangeUser("Leg2_Pt",1.01,100000);
 //   d.SetRangeUser("Leg1_TPC_nSigma_Electrons",-3,3);
@@ -60,7 +61,11 @@ void PlotDataResults(const char* filenameData, const char* filenameMC="", Bool_t
   //--- Like sign subtraction
   AliDielectronSignalBase *sigFirst=GetSignalLS(d,stepFirst);
   SetStyle(sigFirst,"ITS First - Like Sign subtraction");
-//   DrawSpectra(sigFirst,"cFirst",hStats,save);
+  DrawSpectra(sigFirst,"cFirst",hStats,save);
+  //--- Like sign subtraction Arithmetic mean
+  AliDielectronSignalBase *sigFirstArith=GetSignalLS(d,stepFirst,AliDielectronSignalBase::kLikeSignArithm);
+  SetStyle(sigFirstArith,"ITS FirstArith - Like Sign subtraction");
+  DrawSpectra(sigFirstArith,"cFirstArith",hStats,save);
   //--- Rotation subtraction
   AliDielectronSignalBase *sigFirstRot=GetSignalRot(d,stepFirst);
   SetStyle(sigFirstRot,"ITS First - Track rotation subtraction");
@@ -70,8 +75,13 @@ void PlotDataResults(const char* filenameData, const char* filenameMC="", Bool_t
   //SPD any
   //
   AliDielectronSignalBase *sigAny=GetSignalLS(d,stepAny);
-  SetStyle(sigAny,"ITS First - Like Sign subtraction");
+  SetStyle(sigAny,"ITS Any - Like Sign subtraction");
   DrawSpectra(sigAny,"cAny",hStats,save);
+  //--- like sign with arithmetic mean
+  AliDielectronSignalBase *sigAnyArith=GetSignalLS(d,stepAny,AliDielectronSignalBase::kLikeSignArithm);
+  SetStyle(sigAnyArith,"ITS Any - Like Sign subtraction (Arithm. mean)");
+  DrawSpectra(sigAnyArith,"cAnyArith",hStats,save);
+  
   //--- Rotation subtraction
   AliDielectronSignalBase *sigAnyRot=GetSignalRot(d,stepAny);
   SetStyle(sigAnyRot,"ITS First - Track rotation subtraction");
@@ -93,7 +103,7 @@ void PlotDataResults(const char* filenameData, const char* filenameMC="", Bool_t
 
 
 //_______________________________________
-AliDielectronSignalBase *GetSignalLS(AliDielectronCFdraw &d, Int_t step)
+AliDielectronSignalBase *GetSignalLS(AliDielectronCFdraw &d, Int_t step, AliDielectronSignalBase::EBackgroundMethod type)
 {
   //
   // Get Extracted signal from likesign method
@@ -108,9 +118,9 @@ AliDielectronSignalBase *GetSignalLS(AliDielectronCFdraw &d, Int_t step)
   }
   
   AliDielectronSignalExt *sig=new AliDielectronSignalExt;
-  sig->SetScaleRawToBackground(3.2,5.);
+  sig->SetScaleRawToBackground(3.2,4.9);
   sig->SetIntegralRange(2.92,3.15);
-  sig->SetMethod(AliDielectronSignalBase::kLikeSign);
+  sig->SetMethod(type);
   sig->Process(arr);
   
   delete arr;
@@ -136,7 +146,7 @@ AliDielectronSignalBase *GetSignalRot(AliDielectronCFdraw &d, Int_t step)
   arr->AddAt(d.Project("M",step),iType);
   
   AliDielectronSignalExt *sig=new AliDielectronSignalExt;
-//   sig->SetScaleRawToBackground(3.2,4.);
+  sig->SetScaleRawToBackground(3.2,4.9);
   sig->SetIntegralRange(2.93,3.15);
   sig->SetMethod(AliDielectronSignalBase::kRotation);
   sig->Process(arr);