--- /dev/null
+Likefun <-
+function(ParamPool, InputPool)
+{
+
+NoneZeroLength=InputPool[[5]]
+AlphaIn=ParamPool[1]
+BetaIn=ParamPool[2:(1+NoneZeroLength)]
+PIn=ParamPool[2+NoneZeroLength]
+ZIn=InputPool[[4]]
+Input=InputPool[[3]]
+Input1=matrix(InputPool[[1]],nrow=nrow(Input))
+Input2=matrix(InputPool[[2]],nrow=nrow(Input))
+RIn=InputPool[[6]]
+RInSP1=matrix(InputPool[[7]],nrow=nrow(Input))
+RInSP2=matrix(InputPool[[8]],nrow=nrow(Input))
+NumIn=InputPool[[9]]
+##Function here
+#LikelihoodFunction<- function(NoneZeroLength){
+ F0=f0(Input, AlphaIn, BetaIn, RIn, NumIn, log=T)
+ F1=f1(Input1, Input2, AlphaIn, BetaIn, RInSP1,RInSP2, NumIn, log=T)
+ F0[F0==Inf]=min(!is.na(F0[F0!=Inf]))
+ F1[F1==Inf]=min(!is.na(F1[F1!=Inf]))
+
+ -sum((1-ZIn)*F0+ (1-ZIn)* log(1-PIn) + ZIn*F1 + ZIn*log(PIn))
+}
+